首頁  >  文章  >  後端開發  >  golang函數傳回值的型別轉換

golang函數傳回值的型別轉換

WBOY
WBOY原創
2024-04-23 14:42:01763瀏覽

函數傳回值型別轉換分為兩種方式:Type Assertion 檢查值與特定型別是否相容,不相容則報錯;Type Conversion 不檢查相容性,直接轉換。實戰中,可將浮點型轉換為整數,或將元組中的整數轉換為字串。

golang函數傳回值的型別轉換

Go 語言中函數傳回值的型別轉換

在Go 語言中,函數傳回值的型別可以用type assertiontype 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn