美文网首页
Go学习--结构体

Go学习--结构体

作者: liuxuech | 来源:发表于2016-11-01 18:05 被阅读0次

                                                                              结构体

    1、结构体的定义:

    type  name  struct {   

              name1  type1   

              name2  type2   

               ...

    }

    2、结构体简单用法:

    type person struct {

        name string

        age  int

    }

    func main() {

        var s person

        s.name = "lxc"

        s.age = 25

        fmt.Println(s) //{lxc 25}

     }

    3、make和new的区别:

    make只能用来构建切片(slice)、map和channel。

    make:The make built-in function allocates and initializes an object of type slice, map, or chan (only).

    make:内置函数make只能给slice、map或chan分配内存并初始化一个对象。

    new:The new built-in function allocates memory.。

    new:内置函数new用来分配内存。

    注意:从源码中的注释可以看出,make分配并同时初始化了。new只是简单分配了地址。

    slice、map和chan只能用make,不能用new的原因:

    ep:

    var sl = new([]int);

    fmt.Println(sl,len(*sl),cap(*sl))  //&[] 0 0

    切片的长度和容量都为0,所以sl[0] = 100肯定是不对的。

    相关文章

      网友评论

          本文标题:Go学习--结构体

          本文链接:https://www.haomeiwen.com/subject/uynyuttx.html