首页 > 技术文章 > golang学习笔记

liujitao79 2018-09-06 15:48 原文

结构体

#定义
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")

推荐阅读