go系列三:变量
变量是存储特定类型的值。
在Go
中有以下几种方式声明变量
声明变量
package main
import "fmt"
func main() {
var name string
fmt.Println("my name is ", name)
}
Run in playgroundvar name string
声明了一个name变量,类型为string。
我们发现我们只是简单的声明了变量,而没有给变量赋值。
当这个时候,Go
会使用默认值。
Go 变量的默认值
声明变量并赋值
package main
import "fmt"
func main() {
var name string = "zhang"
fmt.Println("my name is ", name)
}
类型推断
如果一个变量有一个初始值,Go将能够使用该初始值自动推断出该变量的类型
package main
import "fmt"
func main() {
var name = "zhang"
fmt.Println("my name is ", name)
}
多变量声明
在Go中,我们可以使用Go一次性声明多个变量
相同类型的语法:
var name1, name2 type = value1. value2
package main
import "fmt"
func main() {
var name, country string = "zhang", "china"
fmt.Println("my name is ", name, "\nmy country is ", country)
}
如果变量有初始值,则可以删除该类型
package main
import "fmt"
func main() {
var name, country = "zhang", "china"
fmt.Println("my name is ", name, "\nmy country is ", country)
}
不同数据类型的语法
var (
name = value1
age = value2
)
package main
import "fmt"
func main() {
var (
name = "zhang"
age = 18
)
fmt.Println("my name is ", name, "\nmy age is ", age)
}
短声明
语法:
name := value
系统自动推断类型
package main
import "fmt"
func main() {
name := "zhang"
fmt.Println("my name is ", name)
}
我们也可以使用不同类型的推导
package main
import "fmt"
func main() {
name, age := "zhang", 18
fmt.Println("my name is ", name, age)
}
最后我们需要知道GO
是强类型语言,所以不能改变其类型
package main
func main() {
name := "zhang"
name = 18
}
//./prog.go:5:9: cannot use 18 (untyped int constant) as string value in assignment
//Go build failed.
下一节我们将学习Go中的基本数据类型
本作品采用《CC 协议》,转载必须注明作者和本文链接