91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
桐梓县| 尚义县| 沽源县| 湖南省| 石渠县| 九江县| 舒兰市| 永定县| 通辽市| 夏邑县| 务川| 桦南县| 广昌县| 荥经县| 肇东市| 定州市| 洛宁县| 巴里| 保山市| 繁峙县| 太谷县| 永康市| 河源市| 富顺县| 库尔勒市| 连南| 玛曲县| 广水市| 科技| 揭阳市| 上虞市| 通江县| 方山县| 三门峡市| 洱源县| 原平市| 桓台县| 台北县| 星子县| 黄冈市| 云安县|