个性化阅读
专注于IT技术分析

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 main
  
import (
     "fmt"
)
  
func main() {
  
//using var keyword to declare 
//and initialize the variable
var myvariable1 = 100
  
fmt.Println(myvariable1)
  
//using var keyword to declare 
//the variable along with type
var myvariable2 int
  
fmt.Println(myvariable2)
  
//using short variable declaration
myvariable3 := 200
  
fmt.Println(myvariable3)
      
}

输出如下:

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 main
  
import (
     "fmt"
)
  
//using var keyword to declare 
//and initialize the variable
//it is package or you can say 
//global level scope
var myvariable1 = 100
  
func main() {
  
//accessing myvariable1 inside the function
fmt.Println(myvariable1)
  
//using var keyword to declare 
//the variable along with type
var myvariable2 int
  
fmt.Println(myvariable2)
  
//using short variable declaration
myvariable3 := 200
  
fmt.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 main
  
import (
     "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 := 200
  
func main() {
  
//accessing myvariable1 inside the function
fmt.Println(myvariable1)
  
//using var keyword to declare 
//the variable along with type
var myvariable2 int
  
fmt.Println(myvariable2)
  
  
fmt.Println(myvariable3)
      
}

错误:

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


赞(0)
未经允许不得转载:srcmini » Golang中var关键字和短声明运算符之间的区别

评论 抢沙发

评论前必须登录!