对象和组合

package main
import (
"fmt" ) type father struct {
name string
sex int
}
type sun struct {
father
age int
}
func main() {
m:=father{name:"father",sex:11}
s:=sun{father:father{name:"son",sex:12},age:14}
fmt.Println(s)
fmt.Println("name",s.name)
fmt.Println("name",m.name)
fmt.Println("sex",s.sex)
fmt.Println("sex",m.sex)
fmt.Println("age",s.age)
}

  

接口实例:

package main

import "fmt"

//接口,只是一个提示,不在接口定义中实现
type Handler interface {
Do(k, v interface{})
} //使用接口
func Each(m map[string]int, h Handler) {
if m != nil && len(m) > 0 {
for k, v := range m {
h.Do(k, v)
}
}
}
type welcome string //接口实现处
func (w welcome) Do(k, v interface{}) {
fmt.Printf("%s,我叫%s,今年%d岁\n", w,k, v)
} func main(){
persons := make(map[string]int)
persons["张三"] = 20
persons["李四"] = 23
persons["王五"] = 26 var w welcome = "大家好" Each(persons, w)
}

  

最新文章

  1. 物联网框架SuperIO 2.2.9和ServerSuperIO 2.1同时更新,更适用于类似西门子s7-200发送多次数据,才能读取数据的情况
  2. Nofuser - deobfuscator for Confuser
  3. ITPUB网站的知识索引汇总
  4. android模拟器使用PC串口调试
  5. Hbuild - 使用海马玩模拟器调试
  6. Android开发开始--环境搭建
  7. HTTP协议的chunked编码
  8. Hibernate包及相关工具包下载地址
  9. [SCOI2009]游戏
  10. [置顶] SpecDD系列:6个确保您执行“充分”QA测试的技巧
  11. Java正則表達式
  12. 免费API接口
  13. [转载]用纯css改变下拉列表select框的默认样式
  14. 降压转换器 (Buck)
  15. Linux 静态链接库和动态连接库
  16. 【转】LVS负载均衡之session解决方案 持久连接
  17. 关于Manjaro与Ubuntu双系统并存引发的一个boot问题
  18. Java - 收藏集 -
  19. 【Excle数据透视表】如何在Excle中使用数据鼠标拖放
  20. 利用Solr的post工具对核心my_core执行删除操作

热门文章

  1. Windows环境下使用Mycat模拟分库分表-读写分离案例
  2. SQL语句中 (+) 含义
  3. sqlserver库相关-表相关-3
  4. windows连接ubuntu服务器方式
  5. R语言rvest包网络爬虫
  6. vue对组件以数组方式赋值的问题
  7. 【GDAL】聊聊GDAL的数据模型(二)——Band对象
  8. npm install 安装不成功,提示python2.7
  9. Windows 下手工搭建 LNMP 环境
  10. 应用安全-工具使用-Burpsuite