- 1 多重赋值
赋值语句用来更新变量所指的值,最简单的形式是=
x=1
*p = true
person.name = "bob"
v := 1 //
v++ // v=v+1 => 2
v-- // v= v -1 => 1
//应用多重赋值
// 多重赋值
x,y= y,x
a[i] ,a[j] =a[j],a[i]
//最大公约数
func gcd(x,y int ) int {
for y != 0 {
x,y = y,x%y
}
return x
}
//斐波那契
func fib(n int) int {
x,y:=0,1
for i:= 0 ; i<n;i++{
x,y=y,x+y
}
return x
}
//open, err := os.Open("foo.txt")//返回两个值
//-,err= io.Copy(dst,src) // 丢弃字节个数
//-,ok = x.(T) // 检查类型但丢弃结果
- 2 可赋值性
medals :=[]string {"gold","silver","bronze"}
fmt.Println(medals)
medals[0] = "a"
medals[1] = "b"
medals[2] = "c"
fmt.Println(medals)
//通俗来说,不管怎么去赋值,只要保证 左边的变量和右边的值类型相同,就合法!