结构体
#定义
type T struct {
a int
b int
}
or
type T struct {a, b int}
#结构体类型变量
var s T
s.a = 5
s.b = 8
#结构体指针
var t *T
t = new(T)
t.a = 1
t.b = 2
or
t := new(T)
t.a = 1
t.b = 2
or
t : = &T{1, 2} // 也可省略&
#方法
func (t *T) Add(param int) int {
return t.a + t.b + param
}
#结构体工厂
type File struct {
fd int
name string
}
func NewFile(fd int, name string) *File {
if fd < 0 {
return nil
}
return &File{fd, name}
}
f := NewFile(10, "./test.txt")