学校排行榜

(0)

投一票

Go语言接口类型:接口类型变量的内部表示 官网

在Go语言里,接口类型变量有独特的内部表示。接口变量本质是个结构体,包含两个字段:类型信息和值信息。 type Interface struct { tab *itab // 类型信息 data unsafe.Pointer // 值信息} 下面看个简单例子: package mainimport "fmt"// 定义接口type Shape interface { Area() float64}// 定义结构体type Rectangle struct { Width float64 Height float64}// 实现接口方法func (r Rectangle) Area() float64 { return r.Width * r.Height}func main() { var s Shape r := Rectangle{Width: 5, Height: 10} s = r fmt.Println(s.Area()) // 输出结果: 50} 要注意,接口变量赋值时,类型信息和值信息都会被更新。
专业
评论
新闻
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。