亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
布尔津县| 同心县| 将乐县| 杭锦旗| 涡阳县| 当涂县| 龙南县| 樟树市| 文安县| 岑溪市| 乐平市| 庆阳市| 安丘市| 巴彦县| 龙州县| 米脂县| 太原市| 临朐县| 信阳市| 桂林市| 那坡县| 宁明县| 永定县| 长汀县| 吉林省| 乌兰浩特市| 东台市| 星子县| 财经| 江安县| 新干县| 葫芦岛市| 博乐市| 广元市| 襄樊市| 定襄县| 墨竹工卡县| 德阳市| 桃园市| 吉木乃县| 邻水|