欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
Go语言 变量
变量是在编程语言中通过名字可以访问的一块内存空间,里面存储的数据可以在程序运行时修改。这个变量的名字称为变量名。
Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。
1. 声明变量的语法
var identifier type
可以一次声明多个变量:
var identifier1, identifier2 type
package main
import "fmt"
func main() {
var s string = test"
fmt.Println(a)
var a, b int = 1, 2
fmt.Println(a, b)
}
以上实例输出结果为:
test 1 2
2. 声明变量的形式
1)变量指定类型,不指定初值
var v_name v_type
如果变量声明没有指定变量的初值,则变量值自动设置为系统默认值。不同的变量类型有不同的默认值。
package main
import "fmt"
func main() {
// 字符串变量未指定初值,默认值为空
var a
fmt.Println(a)
// 整型变量未指定初值,默认值为0
var b int
fmt.Println(b)
// 布尔型变量未指定初值,默认值为false
var c bool
fmt.Println(c)
}
以上实例执行结果为:
0 false
各类型变量的系统默认值:
- 数值类型为 0
- 布尔类型为 false
- 字符串为 ""(空字符串)
- 以下几种类型为 nil:
var a *int // 指针 var a []int // 切片 var a map[string] int // 字典 var a chan int // 通道 var a func(string) int // 函数 var a interface{} // 接口
变量指定类型,不指定初值的范例:
package main
import "fmt"
func main() {
var i int
var f float64
var b bool
var s string
fmt.Printf("%v %v %v %v\n", i, f, b, s)
}
输出结果是:
0 0 false ""
2)变量不指定类型,指定初值
var v_name = value
编译程序根据初值自行推断变量类型。
package main
import "fmt"
func main() {
var d = true
fmt.Println(d)
}
编译程序推断变量d为布尔类型,输出结果是:true。
3)省略 var,通过赋值指定初值
v_name := value
编译程序根据初值自行推断变量类型。
可以将 var f string = "test" 简写为 f := "test":
package main
import "fmt"
func main() {
f := "test" // var f string = "test"
fmt.Println(f)
}
输出结果是:test。
4)多变量声明
//类型相同多个变量, 非全局变量
var vname1, vname2 type
vname1, vname2 = v1, v2
var vname1, vname2 = v1, v2 // 和 python 很像,不需要显示声明类型,自动推断
vname1, vname2 := v1, v2 // 出现在 := 左侧的变量不应该是已经被声明过的,否则会导致编译错误
// 这种因式分解关键字的写法一般用于声明全局变量
var (
vname1 v_type1
vname2 v_type2
)
多变量声明的范例:
package main
var x, y int
var (
a int
b bool
)
var c, d int = 1, 2
var e, f = 123, "hello"
//这种不带声明格式的只能在函数体中出现
//g, h := 123, "hello"
func main(){
g, h := 123, "hello"
println(x, y, a, b, c, d, e, f, g, h)
}
以上实例执行结果为:
0 0 0 false 1 2 123 hello 123 hello
下一章:Golang 常量
Go语言 常量:常量是在编程语言中,通过名字可以访问的一个数据,里面存储的数据在程序运行时不能修改。Go语言的常量关键字是const,常量的数值在编译阶段就已经确定。Go语言中常量的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。常量用于枚举。
AI 中文社