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[--小路写·回忆篇]
今天赶时间,写的太渣.... 惨不忍睹