函數傳回值型別轉換分為兩種方式: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
以上是golang函數傳回值的型別轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!