go基础之结构体 struct。。。。

好吧,我又回来了

struct 结构体 = 类

  Go语言中,和其他语言一样可以声明新的类型,作为其他类型的属性或字段的容器。
  //创建一个person一个实体
  type person struct {
    name string
    age int
  }

声明方式
  var p person //p 现在就是person类型的变量
  p.name = "xiaoming "
  p.age = 25
  fmt.Printf("The person's name is %S", p.name)

其他声明方式:
  1.按照顺序提供初始化值
    p := person{"Tom", 25}

  2.通过field:value的方式初始化

    P := person{age:24, name:"Tom"}

  例子:

  package main
  import "fmt"

  //声明一个新的类型
  type person struct {
    name string
    age int
   }

  //比较年龄
  //struct结构体传值

  func Older(p1, p2 person) (person, int) {
  if p1.age > p2.age {
    retrun p1, p1.age - p2.age
  }
  return p2, p2.age - p1.age
  }

  fun main () {
    var tom person //声明一个person类的对象tom
    //初始化 赋值
    tom.name, tom.age = "tom", 18

    //bob初始化
    bob := person{age:25, name:"bob"}

    //按照struct顺序初始化
    paul := persion{"palu", 43}


  //调用Older函数
  bj_name, bj_age := Older(tom, bob)

  fmt.println("名字:%d, 差距:%d\n", bj_name, bj_age)
}
!!! 三种初始化赋值方式。

struct匿名字段
除了上文一一对应的struct结构体 还有一种只提供类型,而不写字段名的方式 ----->匿名字段。 嵌入字段

 2017年12月23日23:36:29[--小路写·回忆篇]

 

  今天赶时间,写的太渣.... 惨不忍睹

posted @ 2017-12-23 23:38  漫步小路  阅读(599)  评论(0编辑  收藏  举报