函數返回值類型轉換分為兩種方式: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
登錄后復制