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