本文实例讲述了Go语言接口用法。分享给大家供大家参考。具体分析如下:
接口类型是由一组方法定义的集合。
接口类型的值可以存放实现这些方法的任何值。
复制代码 代码如下:package main
import (
"fmt"
"math"
)
type Abser interface {
Abs() float64
}
func main() {
var a Abser
f := MyFloat(-math.Sqrt2)
v := Vertex{3, 4}
a = f // a MyFloat implements Abser
a = &v // a *Vertex implements Abser
a = v // a Vertex, does NOT
// implement Abser
fmt.Println(a.Abs())
}
type MyFloat float64
func (f MyFloat) Abs() float64 {
if f < 0 {
return float64(-f)
}
return float64(f)
}
type Vertex struct {
X, Y float64
}
func (v *Vertex) Abs() float64 {
return math.Sqrt(v.X*v.X + v.Y*v.Y)
}
希望本文所述对大家的Go语言程序设计有所帮助。
标签:
Go语言,接口,用法
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“Go语言接口用法实例”评论...
更新日志
2024年05月15日
2024年05月15日
- 萧萧.2006-IM萧萧【海蝶】【WAV+CUE】
- 这也太香了!《剑星》推出1:4比例活肤战衣雕像
- Steam官方确认:限制《地狱潜者2》上架国家是索尼决定
- 亚当兰伯特踢馆《歌手》登热搜 网友:那英压力巨大
- 群星《当我跑步时我什么都不想 影视原声带》[320K/MP3][34.72MB]
- 群星《当我跑步时我什么都不想 影视原声带》[24bit 48kHz][FLAC/分轨][187.21MB]
- 韩红/陈萨《沉默的光影》[320K/MP3][101.74MB]
- 吳雨霏.2015-霏凡精选2CD【金牌大风】【WAV+CUE】
- 丁欣睿.2023-宜享受太阳雨【StreetVoice】【FLAC分轨】
- 群星.1993-宝丽金真的爱你3CD【宝丽金】【WAV+CUE】
- dnf110满级后平民去哪打装备
- dnf110自定义史诗和固定史诗区别
- dnf110自定义史诗有几件
- 张国荣1979-情人箭[Polydor][APE+CUE]
- KOKIA-歌か?チカラ(2004K2HD2015mora)[96-24]FLAC