var ins T
其中,T 为结构体类型,ins 为结构体的实例。type Point struct { X int Y int } var p Point p.X = 10 p.Y = 20在例子中,使用
.
来访问结构体的成员变量,如 p.X
和 p.Y
等,结构体成员变量的赋值方法与普通变量一致。
ins := new(T)
其中:.
来访问结构体指针的成员。type Player struct{ Name string HealthPoint int MagicPoint int } tank := new(Player) tank.Name = "Canon" tank.HealthPoint = 300经过 new 实例化的结构体实例在成员赋值上与基本实例化的写法一致。
->
操作符。.
,这是因为Go语言为了方便开发者访问结构体指针的成员变量,使用了语法糖(Syntactic sugar)技术,将 ins.Name 形式转换为 (*ins).Name。
&
取地址操作时,视为对该类型进行一次 new 的实例化操作,取地址格式如下:
ins := &T{}
其中:type Command struct { Name string // 指令名称 Var *int // 指令绑定的变量 Comment string // 指令的注释 } var version int = 1 cmd := &Command{} cmd.Name = "version" cmd.Var = &version cmd.Comment = "show version"代码说明如下:
func newCommand(name string, varref *int, comment string) *Command { return &Command{ Name: name, Var: varref, Comment: comment, } } cmd = newCommand( "version", &version, "show version", )
本文链接:http://task.lmcjl.com/news/16316.html