美文网首页
golang入门到放弃:4.结构体

golang入门到放弃:4.结构体

作者: 不留余白 | 来源:发表于2020-07-06 20:29 被阅读0次

定义

type 结构体名称 struct {

    属性1名称   属性1类型

    属性2名称   属性2类型
   ...
}
  • eg:
//定义一个游戏玩家结构体
type Player struct {
    id int
    nickName string
    job string
    level int
}

func main(){
    p:=Player{10001,"靓仔","ADC",1}
    fmt.Printf("%T",p) //main.Player
    fmt.Println(p)//{10001 靓仔 ADC 1}

    p.level++
    fmt.Println(p)//{10001 靓仔 ADC 2}

    p2:=Player{10002,"小马仔","TANK",10}

    var maxLvP Player
    if p.level>p2.level {
        maxLvP=p
    }else{
        maxLvP=p2
    }

    fmt.Printf("等级高的玩家名称:%s",maxLvP.nickName)//等级高的玩家名称:小马仔
}

结构体数组

结构体数组

  • 定义 结构体数组名 [元素个数]结构体类型

  • eg

    //var arr [5]Player
    playerList:=[2]Player{}
      playerList[0].nickName="小马仔1号"
      playerList[0].job="ADC"
      playerList[0].level=100
      playerList[0].id=100
    
      playerList[1].nickName="小马仔2号"
      playerList[1].job="ADC"
      playerList[1].level=200
      playerList[1].id=101
    
    
      fmt.Println(playerList)//[{100 小马仔1号 ADC 100} {101 小马仔2号 ADC 200}]
    

结构体切片

  • 定义 [元素个数]数组 结构体类型

  • eg

    playerList:=[]Player{}
    playerList:=[]Player{}
    //追加切片元素
    playerList = append(playerList, Player{1,"小马仔3号","TANK",1})
    fmt.Println(playerList) //[{1 小马仔3号 TANK 1}]
    

结构体map

  • 定义 map[类型] 结构体

  • eg

    //定义map
      playerMap:=make(map[string]Player)
      playerMap["ADC"] = Player{110,"靓仔1号","ADC",99}
      playerMap["Tank"] = Player{110,"靓仔2号","TANK",99}
      fmt.Println(playerMap)//map[ADC:{110 靓仔1号 ADC 99} Tank:{110 靓仔2号 TANK 99}]
    

结构体map 切片

  • 定义 map[类型][]结构体

  • eg

    playerMap:=make(map[string][]Player)
    playerMap["ADC"] = append( playerMap["ADC"],Player{110,"靓仔1号","ADC",99})
    playerMap["ADC"] = append( playerMap["ADC"],Player{111,"靓仔111号","ADCC",1})
    playerMap["Tank"] = append(playerMap["Tank"],Player{112,"靓仔2号","TANK",99})
    playerMap["Tank"] = append(playerMap["Tank"],Player{113,"靓仔112号","TANK",99})
    fmt.Println(playerMap)//map[ADC:[{110 靓仔1号 ADC 99} {111 靓仔111号 ADCC 1}] Tank:[{112 靓仔2号 TANK 99} {113 靓仔112号 TANK 99}]]
    

相关文章

  • golang入门到放弃:4.结构体

    定义 eg: 结构体数组 结构体数组 定义 结构体数组名 [元素个数]结构体类型 eg//var arr [5]P...

  • Golang 入门 : 结构体(struct)

    Go 通过类型别名(alias types)和结构体的形式支持用户自定义类型,或者叫定制类型。试图表示一个现实世界...

  • 18 Golang结构体详解(四)

    结构体和Json相互转换 当Golang要为App或者小程序提供Api接口数据时,涉及到结构体和Json之间的相互...

  • Learn Golang In Day 9

    Learn Golang In Day 9 简介 结构体是自定义的数据结构 定义结构体 package main ...

  • golang 结构体

     一个结构体类型可以包含若干个字段,也可以不包含任何字段。空结构体可以关联上一些方法,从而看成是函数的特殊版本。 ...

  • Golang:结构体

    结构体 结构体(struct)是用户自定义的类型,代表若干字段的集合。有时将多个数据看做一个整体要比单独使用这些数...

  • Golang结构体

    C++中结构体(struct)和类(class)的主要区别有: struct没有权限控制字段 struct没有方法...

  • golang结构体

    定义 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合 结构体的定义 结构体定义需要使用 type 和 ...

  • Golang 结构体

    继承

  • 10 结构体和类 —— 《Swift3.0 从入门到出家》

    10 结构体和类 - —— 《Swift3.0 从入门到出家》 结构体和类 Swift中的面向对象5个要素:枚举、...

网友评论

      本文标题:golang入门到放弃:4.结构体

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