Golang 菜鳥教程

Golang 控制語句

Golang 函數 & 方法

Golang 結構體

Golang 切片 & 數組

Golang 字符串(String)

Golang 指針

Golang 接口

Golang 并發(fā)

Golang 異常(Error)

Golang 其他雜項

Go 類型轉換

先決條件,您應該學習了:Golang數據類型

當我們將一種數據類型的值分配給另一種數據類型時,就會發(fā)生類型轉換。諸如C / C ++,Java之類的靜態(tài)類型語言提供了對隱式類型轉換的支持,但是Golang有所不同,因為即使數據類型兼容,它也不支持自動類型轉換或隱式類型轉換。原因是Golang的強類型系統(tǒng)不允許這樣做。對于類型轉換,必須執(zhí)行顯式轉換。

Golang 如何進行類型轉換?
如果您需要利用數據類型層次結構的某些特征,那么我們必須將實體從一種數據類型轉換為另一種數據類型。將值val轉換為類型T的一般語法是T(val)。

var nhooo1 int = 845

// 顯式類型轉換
var nhooo2 float64 = float64(nhooo1)
var nhooo3 int64 = int64(nhooo1)
var nhooo4 uint = uint(nhooo1)
//計算平均值
package main
import "fmt"

func main() {

    var totalsum int = 446
    var number int = 23
    var avg float32

    // 顯式類型轉換
    avg = float32(totalsum) / float32(number)

    // 顯示結果
    fmt.Printf("平均值 = %f\n", avg)
}

輸出:

平均值 = 19.391304

注意:由于Golang具有強大的類型系統(tǒng),因此不允許在表達式中混合使用數字類型(例如加,減,乘,除等),并且不允許在兩個混合類型之間執(zhí)行賦值類型。

var nhooo1 int64 = 875

//它會在編譯時拋出錯誤給我們
//因為正在執(zhí)行混合類型,例如把int64作為int類型
var nhooo2 int = nhooo1

var nhooo3 int = 100
//它拋出編譯時錯誤
//這是無效操作
//因為類型是混合的 int64 和 int 相加
var addition = nhooo1 + nhooo3
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清