函數返回值類型轉換分為兩種方式:type assertion 檢查值與特定類型是否兼容,不兼容則報錯;type conversion 不檢查兼容性,直接轉換。實戰中,可將浮點型轉換為整數,或將元組中的整數轉換為字符串。
Go 語言中函數返回值的類型轉換
在 Go 語言中,函數返回值的類型可以用 type assertion 或 type conversion 來轉換。
Type Assertion
使用 type assertion 檢查值是否與特定類型兼容,并將該值轉換為所期望的類型,如果類型不兼容,會導致錯誤:
func GetValue() interface{} {
return "Hello, world!"
}
func main() {
value := GetValue()
// 檢查 value 是否為字符串類型
if str, ok := value.(string); ok {
fmt.Println(str) // 輸出: Hello, world!
}
}
登錄后復制
Type Conversion
使用 type conversion 將值的類型轉換為所期望的類型,無論值是否兼容,都會進行轉換:
func main() {
var num float64 = 3.14
// 將 float64 轉換為 int
numInt := int(num)
fmt.Println(numInt) // 輸出: 3
}
登錄后復制
實戰案例
以下是一個實戰案例,演示如何轉換函數返回值的類型:
func GetEmployeeInfo() (string, int) {
return "John Doe", 30
}
func main() {
name, age := GetEmployeeInfo()
// 將 age 轉換為 string 類型
ageStr := strconv.Itoa(age)
fmt.Println("Employee Name:", name)
fmt.Println("Employee Age:", ageStr)
}
登錄后復制
輸出:
Employee Name: John Doe Employee Age: 30
登錄后復制






