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

golang函數傳回值的型別轉換

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2024-04-23 14:42:01
原創
878 人瀏覽過

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

golang函數傳回值的型別轉換

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

在Go 語言中,函數傳回值的型別可以用type assertiontype conversion 來轉換。

Type Assertion

使用type assertion 檢查值是否與特定類型相容,並將該值轉換為所期望的類型,如果類型不相容,會導致錯誤:

1

2

3

4

5

6

7

8

9

10

11

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 將值的類型轉換為所期望的類型,無論值是否相容,都會轉換:

1

2

3

4

5

6

func main() {

    var num float64 = 3.14

    // 将 float64 转换为 int

    numInt := int(num)

    fmt.Println(numInt) // 输出: 3

}

登入後複製

實戰案例

以下是一個實戰案例,示範如何轉換函數傳回值的類型:

1

2

3

4

5

6

7

8

9

10

11

12

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)

}

登入後複製

輸出:

1

2

Employee Name: John Doe

Employee Age: 30

登入後複製

以上是golang函數傳回值的型別轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
golang web mvc 框架該怎麼選
來自於 1970-01-01 08:00:00
0
0
0
使用 golang 還有必要使用 nginx 麼?
來自於 1970-01-01 08:00:00
0
0
0
golang - goroutine 洩漏
來自於 1970-01-01 08:00:00
0
0
0
golang - mac配置gocode + vim自動補齊
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板