变量
声明变量
var n1, n2, n3 int
定义变量
一次定义一个
var num = 10
一次定义多个
var num, num1 = 10, 11
标准变量写法
在Go中变量声明的基本格式为:var 变量名 类型 = 值 ,例如:
var name string = "董雷"
var age int = 30
变量简写1
省略类型,格式为:var 变量名 = 值 ,这样彻底变为js了
var name = "董雷"
var age = 30
变量简写2,这种不能用作全局变量
省略var关键字,格式为:变量名 := 值 (推荐)
name := "董雷"
age := 30
分开声明和赋值
var name string
name = "董雷"
注意:如果变量只声明不赋值,Go内部其实会给变量默认设置值:int 为 0,float 为 0.0,bool 为 false,string 为空字符串,指针为 nil 。
全局变量
var country string = "中国"
特别提醒:Go中的全局变量比较特殊,如果全局变量名首字母小写,则只能被当前包中的go文件使用,外部无法使用;如果首字母大写,则任意文件都使用全局变量。
局部变量
var name string = "董雷"
`var age = 30`
`name := "董雷"`
因式分解
全局和局部作用域都可以使用
传统写法
var name = "董雷"
var age = 30
var gender string
因式分解简写
var (
name = "董雷"
age = 30
gender string
)
常量
不可被修改的变量。
const World string = "世界"
const age = 98
const x, y int = 1, 2
因式分解
const (
v1 = 123
v2 = 456
pi = 9.9
)
const (
e = 2.71828182845904523536028747135266249775724709
pi = 3.141592653589582097494459
b bool = true
)
汇总
package main
import (
"fmt"
"unsafe"
)
const World string = "世界"
const x, y int = 1, 2
const s1 = "Hello golang"
const (
e = 2.71828182845904523536028747135266249775724709369995957496696763
pi = 3.14159265358979323846264338327950288419716939937510582097494459
b bool = true
)
const (
c1=1
c2
c3
c4="c44444"
c5
)
const (
f1="abc"
f2=len(f1)
f3=unsafe.Sizeof(f2)
func main() {
fmt.Println(f1)
fmt.Println(f2)
fmt.Println(f3)
}
特殊变量
占位符 “_”
_, name := Person(18, "好嗨哦")