当前位置: 首页 > news >正文

网站建设:上海珍岛网页版qq空间登录

网站建设:上海珍岛,网页版qq空间登录,新零售型网站开发,宁德网站推广#x1f308;Don’t worry , just coding! 内耗与overthinking只会削弱你的精力#xff0c;虚度你的光阴#xff0c;每天迈出一小步#xff0c;回头时发现已经走了很远。 #x1f4d7;概念 在Go语言中#xff0c;interface 是一种重要的类型#xff0c;用于定义一组方法… Don’t worry , just coding! 内耗与overthinking只会削弱你的精力虚度你的光阴每天迈出一小步回头时发现已经走了很远。 概念 在Go语言中interface 是一种重要的类型用于定义一组方法的集合。 任何类型只要实现了这些方法就可以被视为该接口的实现。 接口提供了一种灵活的方式来实现多态性使得不同类型可以用同一方法进行操作。 代码 package mainimport (fmtmath )// 用type和interface关键字定义了一个geometry接口接口中包含了两个方法area()和perim() type geometry interface {area() float64perim() float64 }// 定义结构体rect包含两个属性width, height float64类型 type rect struct {width, height float64 } type circle struct {radius float64 }// 给结构体定义函数rect和circle是不同的结构实现不同的方法 func (r rect) area() float64 {return r.width * r.height } func (r rect) perim() float64 {return 2*r.width 2*r.height }func (c circle) area() float64 {return math.Pi * c.radius * c.radius } func (c circle) perim() float64 {return 2 * math.Pi * c.radius }// measure()函数接受一个geometry接口类型的参数并在函数内部调用该参数的area()和perim()方法打印出对应的结果 func measure(g geometry) {fmt.Println(g)fmt.Println(g.area())fmt.Println(g.perim()) }func main() {r : rect{width: 3, height: 4}c : circle{radius: 5}measure(r)measure(c) }理解 接口使用 type 关键字定义后跟接口名称和方法签名任何类型只要实现了接口中定义的所有方法就自动实现了该接口无需显式声明。interface是go中实现多态的方式不同的数据结构实现相同的方法 Tips小知识点 方法签名 在编程中方法签名Method Signature是指方法的名称及其参数列表的组合。它用于唯一标识一个方法并定义该方法的输入和输出。 方法签名通常包含方法名称、参数列表基本类型、结构体、interface接口、返回值可选 Example func Add(a int, b int) int {return a b }方法名称Add参数列表a int, b int返回值int 方法签名的重要性 唯一性在同一个作用域内方法的名称和参数列表的组合必须是唯一的。即使方法名称相同但如果参数类型或数量不同编译器也会将其视为不同的方法。类型安全方法签名帮助编译器检查方法调用时的参数类型是否匹配确保类型安全。多态性在面向对象编程中方法签名是实现多态性的基础。通过接口或基类定义方法签名可以让不同的子类实现相同的方法从而实现多态。 空接口 空接口interface{}是没有任何方法的接口表示任何类型的值。它可以用来处理不同类型的数据。 Example //空的方法interface{} func PrintAnything(v interface{}) {fmt.Println(v) }func main() {PrintAnything(Hello, World!)//stringPrintAnything(123)//intPrintAnything(true)//boolean }接口的嵌套 接口可以嵌套其他接口从而形成更复杂的接口。 Example type Animal interface {Speak() string } //嵌套Animal接口并新增一个Play方法 //意味着任何实现 Pet 接口的类型必须同时实现 Animal 接口中的 Speak() 方法和 Pet 接口中的 Play() 方法。 type Pet interface {AnimalPlay() string }type Dog struct{} //dog 实现Speak() func (d Dog) Speak() string {return Woof! } //dog 实现Play() func (d Dog) Play() string {return Fetch! } 无人扶我青云志我自踏雪至山巅。
http://www.w-s-a.com/news/728685/

相关文章:

  • 网站服务器ipteahouse wordpress主题
  • 深州市住房保障和城乡建设局网站做网站公司叫什么
  • 织梦网站转跳手机站注册公司代理记账费用
  • wordpress建站Pdf亚马逊aws在线观看
  • 做网站的外包公司有哪些WordPress调用json数据
  • 做网站网站怎么赚钱网站的建设及维护报告
  • 可以做效果图的网站东莞网站优化什么方法
  • 网站和软件的区别怎么做招生网站
  • 雄安免费网站建设电话如何做网站推广 求指点
  • 十大免费cad网站入口软件北京做网站建设价格
  • 建设一个公司网站要具备什么网页制作的专业
  • 东莞seo建站排名全包网站
  • 网站建设的基本步骤有哪些软件商店下载官方
  • 网站建设开发报告论文hao123上网从这里开始官方
  • 阿里云建网站费用徐州房产网
  • 网站统计分析平台做企业礼品的网站
  • 做可视化图表的网站wordpress批量导入tag
  • txt怎么做网站网站的链接结构包括
  • 适合平面设计师的网站网络营销专员的就业前景
  • 好订单网服装加工接单谷歌seo网站推广怎么做
  • seo泛站群外贸网站建设团队
  • 网站免费维护建立网站国家城乡建设部投诉网站
  • 企业网站必须备案吗wordpress导入数据库依然无法链接
  • 浅谈高校网站群的建设网站不支持m.域名
  • 和平网站建设公司做实验教学视频的网站
  • 音乐网站源码带手机版WordPress菜单调用不出
  • 昆明网站设计都需要设计什么网络推广岗位职责和任职要求
  • 国外公司网站模板网站建设公司选择意见书
  • 如何创建一个网站卖东西郑州 网站建设公司
  • 石景山郑州阳网站建设南京网站搜索引擎优化