golang对象

peterinblog · · 812 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

对象和组合

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)
}

  

 


有疑问加站长微信联系(非本文作者)

本文来自:博客园

感谢作者:peterinblog

查看原文:golang对象

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

812 次点击  
加入收藏 微博
上一篇:golang os.Args
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传