golang中的型別及型別轉換指南

2021-09-02 19:26:06 字數 1361 閱讀 9706

在這篇文章中,我們將研究golang中使用的不同資料型別,以及如何在不同資料型別間進行轉換。在我們研究型別轉換的不同方法之前,讓我們先來討論一下golang中一些最常用的資料型別。

golang中的資料型別

下面是您將在golang中使用到的幾種資料型別:

那關於型別轉換呢?

那麼,型別轉換允許程式設計師將一種資料型別轉換成另外一種資料型別。你可能會問:我為什麼要在golang中進行型別轉換呢?好吧,如果你需要使用資料型別層面的某些特性,那你就不得不將資料實體從一種資料型別轉換為另外一種資料型別。

讓我們更深入一些吧!

在golang中,我們使用表示式t(v)的格式來將資料v轉換成型別t的資料。下面的例子說明了如何將數值從一種資料型別轉換成另外一種資料型別:

var amount int = 80

var amount2 float64 = float64 (amount)

var amount3 uint = uint (f)

可以簡化成:

amount: = 80

amount2:= float64 (amount)

amount3:= uint (f)

golang中型別轉換,需要注意的幾點是:如果對不同的資料型別賦值,則必須進行顯示轉換。這就是為什麼在golang的型別轉換中,區分使用": =" 或 "var = 表達"是很重要的。

例如,當宣告乙個變數而不指定為顯式資料型別 (通過使用 「: = 語法」 或 「var = 表示式語法」) 時,將從右側顯示的值推斷變數的資料型別。如果宣告的右側是型別化的, 則新變數將具有相同的資料型別。下面是例子:

var amount int

amount1:= amount // in this case, amount is of int data type

現在,當等式右邊是乙個不確定型別的資料會時,發生什麼情況呢?那麼,當等式右邊是乙個不確定型別的數值常量時,則變數(在這個例子中是amount1)可能會根據你給定的常量的精度,被賦值乙個int,float64,甚至complex128的數值。

下面的示例,剛好說明了這一點:

i: = 42             // this is an int data type depending on the accuracy. 

pi: = 3.142 // this is a float64 data type depending on the precision.

b := 0.867 + 0.5i // this is a complex128 depending on the precision.

golang 型別轉換

go 檢視變數型別 reflect.typeof 變數名 int 轉string s strconv.itoa i 等價於 strconv.formatint int i 10 示例 func zhuan int64轉string i int64 123 s strconv.formatint i,...

golang時間型別轉換

1.獲取當前時間,返回utc時間currenttime time.now fmt.printf v t n currenttime,currenttime 2.獲取當前時間戳timeunix time.now unix 單位秒 fmt.printf v t n timeunix,timeunix t...

Golang常見型別轉換

int time.now weekday 星期轉int int time.now month 月份轉intvar a float64 a 3.1 b int a float64轉intvar a int a 1 b int64 a int轉int64 string和int int32 int64 i...