**本文系第三篇Golang语言学习教程**
var声明语句可以创建一个特定类型的变量,然后给变量附加一个名字,并且设置变量的初始值。
***变量声明语法如下***:
>**var 变量名 类型 = 表达式**
例:
```go
var age int = 19
```
-----------------
其中**“类型”**或**“=表达式”**两个不分可以省略其中一个。
>如果省略**类型**,那么将根据初始表达式来确定类型信息。
如果省略**=表达式**,那么将用零值初始化该变量。
例1:
```go
package main
import "fmt"
func main() {
var age = 19 //省略类型,根据自动表达式确定age类型
fmt.Println("Hello World,my age is",age)
}
```
上面的程序将会打印:
>Hello World,my age is 19
例2:
```go
package main
import "fmt"
func main(){
var age int //省略表达式,默认用0初始化该变量
fmt.Println("Hello World,my age is",age)
}
```
上面的程序将会打印:
>Hello World,my age is 0
# 声明多个变量
Go能够通过一条语句声明多个变量。
***声明多个变量语法如下***:
>var name1, name2 type = initialvalue1, initialvalue2
例:
```go
package main
import "fmt"
func main(){
var height,weight = 178,57 //声明两个变量身高,体重
fmt.Println("my height is",height,"and my weight is",weight)
}
```
上面的程序将会打印:
>my height is 178 and my weight is 57
在某些情况下我们可能需要在一个语句中声明不同类型的变量。
***一个语句声明不同类型的变量语法如下***:
```go
var (
name1 = initialvalue1
name2 = initialvalue2
)
例:
```go
package main
import "fmt"
func main(){
var (
name = "xunk"
age = 19
height = 178
)
fmt.Println("my name is",name,",my age is",age,"and my heiget is",height)
}
```
上面的程序将会打印:
>my name is xunk ,my age is 19 and my heiget is 178
# 简短声明
Go支持一种声明变量的简洁方式,使用了:=操作符,称为简短声明。
***简短声明语法如下:***
>name := initialvalue
例:
```go
package main
import "fmt"
func main(){
name,age := "xunk",19 //简短声明name,age
fmt.Println("my name is",name,"my age is",age)
}
```
上面的程序将会打印:
>my name is xunk my age is 19
:=简短声明左边所有变量都要有初始值,并且操作符左边必须要有一个变量是尚未声明的。
变量也可以在运行时进行赋值。
例:
```go
package main
import (
"fmt"
"math"
)
func main(){
a,b := 25.3,73.1 //声明a,b变量
c := math.Min(a,b) //比较a,b最小值,赋值给c
fmt.Println("The minimum values is",c)
}
```
上面的程序将会打印:
>The minimum values is 25.3
\
由于 Go 是强类型(Strongly Typed)语言,因此不允许某一类型的变量赋值为其他类型的值。
```go
package main
func main() {
age := 29 // age是int类型
age = "naveen" // 错误,尝试赋值一个字符串给int类型变量
}
```
*以上程序会报错:*
> (type string) as type int in assignment
不可以将赋值一个字符串给int类型变量
有疑问加站长微信联系(非本文作者))