Golang中var关键字和短声明运算符之间的区别

一种变量是用于保存值的存储位置或占位符。它使我们能够操纵和检索存储的信息。在Golan中有两种声明变量的方法, 如下所示:
使用var关键字
使用短声明运算符(:=)
var关键字和短声明运算符之间的区别

var关键字 短声明运算符
var是Golang中存在的词汇关键字。 :=被称为短声明运算符。
它用于声明和初始化函数内部和外部的变量。 它仅在函数内部用于声明和初始化变量。
使用此变量通常具有包级别或全局级别范围。它也可以具有本地范围。 在这里, 变量仅具有局部作用域, 因为它们仅在函数内部声明。
变量的声明和初始化可以分别进行。 变量的声明和初始化必须同时进行。
可以将类型和变量声明一起放置。 无需放置类型。如果你这样做, 将会出错。
示例1:在此程序中, 你可以看到myvariable1被声明为变种关键字, 并且具有本地范围。myvariable2也可以使用var关键字和int类型进行声明, 但尚未完成初始化。因此它将采用int类型的默认值, 即零(你可以在输出中看到)。myvariable3使用短变量声明运算符声明和初始化, 并且具有局部范围。
//Go program to show the use of var lexical //keyword and short declaration operator package mainimport ( "fmt" )func main() {//using var keyword to declare //and initialize the variable var myvariable1 = 100fmt.Println(myvariable1)//using var keyword to declare //the variable along with type var myvariable2 intfmt.Println(myvariable2)//using short variable declaration myvariable3 := 200fmt.Println(myvariable3)}

【Golang中var关键字和短声明运算符之间的区别】输出如下:
100 0 200

示例2:在此程序中, 你可以看到myvariable1被声明为变种关键字, 它具有全球范围.myvariable2也可以使用var关键字和int类型进行声明, 但尚未完成初始化。因此它将采用int类型的默认值, 即零(你可以在输出中看到)。myvariable3使用短变量声明运算符声明和初始化, 并且具有局部范围。
//Go program to show the use of var lexical //keyword and short declaration operator package mainimport ( "fmt" )//using var keyword to declare //and initialize the variable //it is package or you can say //global level scope var myvariable1 = 100func main() {//accessing myvariable1 inside the function fmt.Println(myvariable1)//using var keyword to declare //the variable along with type var myvariable2 intfmt.Println(myvariable2)//using short variable declaration myvariable3 := 200fmt.Println(myvariable3)}

输出如下:
100 0 200

示例3:在此程序中, 你可以看到myvariable1被声明为变种关键字, 它具有全球范围.myvariable2也可以使用var关键字和int类型进行声明, 但尚未完成初始化。因此它将采用int类型的默认值, 即零(你可以在输出中看到)。myvariable3使用不允许在函数外的短变量声明运算符声明和初始化, 这会导致错误。
//Go program to show the use of var lexical //keyword and short declaration operator package mainimport ( "fmt" )//using var keyword to declare //and initialize the variable //it is package or you can say //global level scope var myvariable1 = 100//using short variable declaration //it will give an error as it is not //allowed outside the function myvariable3 := 200func main() {//accessing myvariable1 inside the function fmt.Println(myvariable1)//using var keyword to declare //the variable along with type var myvariable2 intfmt.Println(myvariable2)fmt.Println(myvariable3)}

错误:
./prog.go:18:1:语法错误:函数主体外的非声明语句

    推荐阅读