Go 语言程序设计——面向对象编程(5)

2019-08-18  本文已影响0人  hlemon

结构体

points := [][2]int{{4, 6}, {}, {-7, 11}, {15, 17}, {14, -8}}
for _, point := range points {
  fmt.Printf("(%d, %d)", point[0], point[1])
}
// 通过使用匿名结构体的更好的方法
points := []struct{x, y int} {{4, 6}, {},{-7,11},{15,17},{14,-8}}
for _, point := range points {
  fmt.Printf("(%d, %d)", point.x, point.y)
}

结构体的聚合与嵌入

嵌入值
type Person struct {
  Title   string        // 具名字段(聚合)
  Forenames []string      // 具名字段(聚合)
  Surname  string       // 具名字段(聚合)
}

type Author1 struct {
  Names    Person        // 具名字段(聚合)
  Title    []string      // 具名字段(聚合)
  YearBorn  int         // 具名字段(聚合)
}

type Author2 struct {
  Person                  // 具名字段(聚合)
  Title    []string      // 具名字段(聚合)
  YearBorn  int         // 具名字段(聚合)
}
嵌入带方法的匿名值
嵌入接口
上一篇 下一篇

猜你喜欢

热点阅读