【发布时间】:2014-09-11 18:39:29
【问题描述】:
我编写了一个关于为变量赋值的示例应用程序。看下面的代码sn -p:
package main
import (
"fmt"
)
func main() {
cp := 344
fmt.Println(cp)
cp = 566565
fmt.Println(cp)
res := []struct {
Email string `json:"n.email"`
Activated bool `json:"n.activated"`
}{}
fmt.Println(res)
res = []struct {
Email string `json:"n.email"`
}{}
fmt.Println(res)
}
第一个 cp 变量,我赋值,然后再做一次,它就可以工作了。最后 cp 携带值 566565。对我来说是 int 可变的。
第二个代码不起作用,将新结构重新分配给 res,我得到编译器错误。
./double_assignment.go:23: 不能使用 []struct { 电子邮件字符串 } 文字(类型 []struct { 电子邮件字符串 })作为类型 []struct { 电子邮件 细绳;在作业中激活 bool }
结构是不可变的吗?
【问题讨论】:
标签: go