中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

go結構體強制類型轉換的方法是什么

go
小億
101
2023-08-07 23:54:47
欄目: 編程語言

在Go語言中,結構體之間的強制類型轉換需要使用類型斷言。類型斷言的語法如下:

value, ok := expression.(Type)

其中,expression是要轉換的變量,Type是目標類型。ok是一個布爾值,用于判斷轉換是否成功。

下面是一個示例:

type Circle struct {
radius float64
}
type Rectangle struct {
width  float64
height float64
}
func main() {
var shape interface{}
// 創建一個Circle類型的變量
shape = Circle{radius: 5.0}
// 將shape強制轉換為Circle類型
if circle, ok := shape.(Circle); ok {
fmt.Printf("Circle radius: %.2f\n", circle.radius)
} else {
fmt.Println("Not a Circle")
}
// 將shape強制轉換為Rectangle類型
if rectangle, ok := shape.(Rectangle); ok {
fmt.Printf("Rectangle width: %.2f, height: %.2f\n", rectangle.width, rectangle.height)
} else {
fmt.Println("Not a Rectangle")
}
}

在上面的示例中,我們先創建了一個空接口變量shape,然后將其賦值為Circle類型的變量。接著通過類型斷言將shape強制轉換為Circle類型,并打印出radius字段的值。由于shape實際上是一個Circle類型的變量,所以類型斷言成功,打印出了radius字段的值。然后我們嘗試將shape強制轉換為Rectangle類型,由于shape實際上不是Rectangle類型的變量,所以類型斷言失敗,打印出了"Not a Rectangle"。

0
洱源县| 开江县| 冕宁县| 望江县| 太原市| 手游| 长治县| 柯坪县| 马尔康县| 大冶市| 睢宁县| 通道| 遂平县| 原平市| 八宿县| 陵川县| 蓬莱市| 遵义市| 门头沟区| 泸溪县| 祁连县| 特克斯县| 嘉定区| 九江市| 阜南县| 浦江县| 泰顺县| 瓦房店市| 包头市| 满洲里市| 睢宁县| 霍城县| 陵水| 大英县| 固镇县| 阳高县| 女性| 北海市| 阿拉善盟| 丰原市| 罗源县|