Go语言基础编程:Golang中的var关键字

时间:2019-11-1 作者:golang

Go语言基础编程:Golang中的var关键字

var关键字在Golang用于创建的变量具有一个适当的名称和初始值的特定类型的。在使用var关键字声明变量时,初始化是可选的,我们将在本文后面讨论。

句法:
var标识符类型=表达式
例:

//这里geek1是标识符 
//或变量名,int是
//类型,并为200分配值
var geek1 int = 200

 

如您所知,Go是一种静态类型的语言,但是它仍然提供了一种在声明变量的同时删除数据类型声明的功能,如以下语法所示。这通常称为类型推断。

句法:

var identifier = initialValue

 

例:

var geek1 = 200

 

使用var关键字的多个变量声明
var关键字还用于在一行中声明多个变量。您还可以为变量提供初始值,如下所示:

使用var关键字以及类型声明多个变量:

var geek1,geek2,geek3,geek4 int

 

使用var关键字以及类型和初始值声明多个变量:

var geek1,geek2,geek3,geek4 int = 10、20、30、40

 

注意:
您还可以使用类型推断(上面讨论过),该推断可使编译器知道该类型,即可以在声明多个变量的同时删除该类型。
例:

var geek1,geek2,geek3,geek4 = 10,20,30.30,true

 

您还可以使用多行使用var关键字声明和初始化不同类型的值,如下所示:
例:

var(
geek1 = 100
geek2 = 200.57
geek3 bool
geek4 string = "GeeksforGeeks"
)

 

在声明期间使用类型时,只允许声明多个相同类型的变量。但是在声明期间删除类型,您可以声明多个不同类型的变量。
例:

// Go program to demonstrate the multiple
// variable declarations using var keyword
package main

import "fmt"

func main() {

// Multiple variables of the same type
// are declared and initialized
// in the single line along with type
var geek1, geek2, geek3 int = 232, 784, 854

// Multiple variables of different type
// are declared and initialized
// in the single line without specifying
// any type
var geek4, geek5, geek6 = 100, "GFG", 7896.46

// Display the values of the variables
fmt.Printf("The value of geek1 is : %d\n", geek1)

fmt.Printf("The value of geek2 is : %d\n", geek2)

fmt.Printf("The value of geek3 is : %d\n", geek3)

fmt.Printf("The value of geek4 is : %d\n", geek4)

fmt.Printf("The value of geek5 is : %s\n", geek5)

fmt.Printf("The value of geek6 is : %f", geek6)

}

 

输出:

The value of geek1 is : 232
The value of geek2 is : 784
The value of geek3 is : 854
The value of geek4 is : 100
The value of geek5 is : GFG
The value of geek6 is : 7896.460000

 

有关var关键字的要点
在使用var关键字声明变量的过程中,可以删除type或=表达式,但不能同时删除两者。如果这样做,则编译器将给出错误。
如果删除了表达式,则默认情况下,变量将包含数字的零值和布尔值 “”的false代表字符串,而nil则包含接口和引用类型。因此,Go语言中没有这样的未初始化变量的概念。
例:

// Go program to illustrate
// concept of var keyword
package main

import "fmt"

func main() {

// Variable declared but
// no initialzation
var geek1 int
var geek2 string
var geek3 float64
var geek4 bool

// Display the zero-value of the variables
fmt.Printf("The value of geek1 is : %d\n", geek1)

fmt.Printf("The value of geek2 is : %s\n", geek2)

fmt.Printf("The value of geek3 is : %f\n", geek3)

fmt.Printf("The value of geek4 is : %t", geek4)

}

 

输出:

The value of geek1 is : 0
The value of geek2 is :
The value of geek3 is : 0.000000
The value of geek4 is : false

 

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:2100506673@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。