分享
golang对象
peterinblog · · 1288 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
对象和组合
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)
}
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信1288 次点击
上一篇:golang os.Args
下一篇:Go数据结构之栈
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
对象和组合
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)
}