在Golang中,類型轉(zhuǎn)換的方法有以下幾種:
默認(rèn)類型轉(zhuǎn)換:可以通過將一個(gè)類型直接賦值給另一個(gè)類型來進(jìn)行類型轉(zhuǎn)換。例如:var a int = 10
和 var b float64 = float64(a)
。
類型斷言:可以通過使用類型斷言來判斷一個(gè)接口類型的變量是否屬于某一種具體類型,并進(jìn)行相應(yīng)的類型轉(zhuǎn)換。例如:value, ok := interfaceVar.(int)
。
strconv包:可以使用strconv包中提供的一些函數(shù)來進(jìn)行字符串和基本數(shù)據(jù)類型之間的轉(zhuǎn)換。例如:strconv.Atoi("10")
將字符串轉(zhuǎn)換為整數(shù)。
fmt包:可以使用fmt包中提供的一些函數(shù)來進(jìn)行字符串和基本數(shù)據(jù)類型之間的轉(zhuǎn)換。例如:fmt.Sprintf("%d", 10)
將整數(shù)轉(zhuǎn)換為字符串。
json包:可以使用json包中的Unmarshal函數(shù)將JSON字符串轉(zhuǎn)換為結(jié)構(gòu)體。例如:json.Unmarshal([]byte(jsonStr), &structVar)
。
需要注意的是,在進(jìn)行類型轉(zhuǎn)換時(shí),要確保轉(zhuǎn)換是合法的,否則可能會(huì)出現(xiàn)運(yùn)行時(shí)錯(cuò)誤。