美文网首页
结构struct-GOLANG

结构struct-GOLANG

作者: 与子笑 | 来源:发表于2018-05-20 10:31 被阅读0次

golang  @amazeUI  2017-09-12 13:51:56

type person struct {

    Name string

    Age  int

}

type user struct {

    Name string

    Age  int

    Info struct { //结构体嵌套一个匿名结构体

        Phone string

        City  string

    }

}

type test struct { //声明一个匿名字段struct

    string

    int

}

type human struct {

    Sex  string

    Name string

    Age  int

}

type student struct {

    human

    Parent_phone string

}

type teacher struct {

    human   //将上面的human组合进来

    Subject string

}

func main() {

    //struct结构体

    a := person{Name: "hk"} //可以把这个struct看做成一个php对象与json对象的组合

    a.Age = 13              //可以这样用.取值和赋值

    fmt.Println(a)

    A(a)           //从这里能够看出来,这里传递过去的是一个值的拷贝,在A函数里面对这个struct的修改并不会影响到a

    fmt.Println(a) //如果加&符号,则是引用传递,修改就会改变原有的值

    b := struct {  //匿名结构体

        Name string

        Age  int

    }{ //在声明struct的同时,可以声明值

        Name: "pp",

        Age:  11, //这里结尾必须要加上逗号

    }

    fmt.Println(b)

    c := user{Name: "pys", Age: 14} //第一层可以这样给结构体内的字段赋值

    c.Info.Phone = "iphone4s"       //匿名结构体只能勇敢这种方式给赋值

    c.Info.City = "shanghai"

    fmt.Println(c)

    d := test{"test", 4} //匿名字段结构体直接按照声明字段顺序赋值

    var e test

    e = d //同个struct可以直接赋值,非同个struct不可以进行比较

    fmt.Println(d == e)

    //golang之中没有面向对象,但是可以通过一些特性实现一些面向对象的特性例如继承,在go里面叫包含

    //上面声明了三个结构,human,studen,teacher,按面向对象来做的话,他们都需要继承human,因为

    //human里的属性包含了一个人最基本的属性,但是学生和老师又不一样

    t1 := teacher{Subject: "语文", human: human{Sex: "男"}} //对于有组合的结构体来说

    //这个human只是一个字段,后一个human才代表human这个结构体,所以可以这样赋值

    t1.Age = 15 //因为是组合过来的,所以也可以这样赋值

    fmt.Println(t1)

}

func A(per person) {

    per.Age = 19

    fmt.Println(per)

}

相关文章

  • 结构 struct golang

    原文链接:结构struct-GOLANG

  • 结构struct-GOLANG

    golang -@amazeUI -2017-09-12 13:51:56 type person struct ...

  • 结构 结构

    当我走过这里的每一寸土地 我的心似乎从来都不能平静 除了月光落地和花开的声音 我似乎听到了她狂热般的心跳 人们在这...

  • 数据结构理论

    数据结构分为逻辑结构和物理结构。 逻辑结构 1,集合结构。2,线性结构。3,属性结构。4,图形结构。 物理结构 1...

  • 结构:结构中的结构

    结构数组 结构中的结构 嵌套的结构

  • 003-控制流程语句if,elseif,switch,for,w

    控制流程语句 分支结构 循环结构 分支结构 简单的if结构 if...else结构 多重if结构 嵌套if结构 总...

  • 如何写出一篇重点突出、条理清晰、令人印象深刻的文章——《一本小小

    一、结构方面: 1.写作结构:时间结构、比较结构、线性结构、因果结构、范畴结构、评价结构。 2.整合相似事物。先结...

  • 大话数据结构摘录

    数据结构的不同维度 逻辑结构集合结构线性结构树形结构图形结构 物理结构顺序存储结构链式存储结构 算法的定义 算法是...

  • 选择结构

    if单选择结构if双选择结构if多选择结构嵌套的if结构switch多选择结构 if选择结构 switch多选择结构

  • 数据结构

    一. 数据结构的分类 集合结构 线性结构 树形结构 图形结构 二. 数据结构的存储 顺序存储结构 和 链式存储结构...

网友评论

      本文标题:结构struct-GOLANG

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