首页 / GO / Golang之interface(多态)
Golang之interface(多态)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Golang之interface(多态),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1222字,纯文字阅读大概需要2分钟。
内容图文
多态用法
package main // 一种事物的多种形态,都可以按照统一的接口进行操作 // 多态 import ( " fmt " " math/rand " " sort " ) type Student struct { Name string Id string Age int sortType int } type Book struct { Name string Author string } // 切片默认传地址 type StudentArray []Student func (p StudentArray) Len() int { return len(p) } func (p StudentArray) Less(i, j int) bool { return p[i].Name < p[j].Name } func (p StudentArray) Swap(i, j int) { p[i], p[j] = p[j], p[i] } func main() { var stus StudentArray for i := 0; i < 10; i++ { stu := Student{ Name: fmt.Sprintf("stu%d", rand.Intn(100)), Id: fmt.Sprintf("110%d", rand.Int()), Age: rand.Intn(100), } stus = append(stus, stu) } for _, v := range stus { fmt.Println(v) } fmt.Println("\n\n") sort.Sort(stus) for _, v := range stus { fmt.Println(v) } }
接口嵌套
package main import " fmt " // 接口嵌套 一个接口可以嵌套在另外的接口 type Reader interface { Read() } type Writer interface { Write() } type ReadWriter interface { Reader Writer } type File struct { } func (f *File) Read() { fmt.Println("read data") } func (f *File) Write() { fmt.Print("write data") } func Test(rw ReadWriter) { rw.Read() rw.Write() } func main() { var f File Test(&f) }
原文:https://www.cnblogs.com/pyyu/p/8283418.html
内容总结
以上是互联网集市为您收集整理的Golang之interface(多态)全部内容,希望文章能够帮你解决Golang之interface(多态)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。