var 变量名 变量类型
var 变量名 变量类型 = 变量值
变量名 := 变量值
package main
import "fmt"
func main() {
var name string = "chang"
fmt.Println(name)
}
package main
func main() {
var (
name string
age int
sex string
)
println(name, age, sex)
}
package main
import "fmt"
func main() {
//变量初始化并赋值,可自动识别变量类型
name := "change"
age := 19
fmt.Printf("%T,%T", name, age)
}
package main
import "fmt"
func main() {
var age int
age = 18
fmt.Printf("age:%d,内存地址%p", age, &age)
age = 24
fmt.Printf("age:%d,内存地址%p", age, &age)
age = 200
fmt.Printf("age:%d,内存地址%p", age, &age)
}
package main
import "fmt"
func main() {
var (
age1 = 18
age2 = 30
)
age1, age2 = age2, age1
fmt.Println(age1, age2)
}
匿名变量的特点是一个"_"下划线,表示空白标志符。它可以像其他变量一样用于变量的声明和赋值,但是任何赋给这个标志符的值都将被抛弃,因此该变量不能用于后续的任何计算或操作。
package main
import "fmt"
func test() (int, int) {
return 100, 200
}
func main() {
a, _ := test()
_, b := test()
fmt.Println(a, b)
}
局部变量
在函数内定义的变量,只能在定义的函数内使用。
全局变量
在函数外定义的,没有其他函数包裹的变量,能被其他源文件引用。全局变量必须以var开始,如果想要在外部包中使用全局变量,全局变量必须首字母大写。
全局变量,局部变量可以重名,但是最近的一个变量有效。