GoLang學習之數據類型


數據類型

Go語言按類別有以下幾種數據類型:

  • bool,一個字節,值是true或者false,不可以用0或者1表示
  • int/uint(帶符號為與不帶符號位的int類型):根據平台不同是32位或者64位
  • intx/uintx:x代表任意位數,例如:int3,代表占3bit的int類型
  • byte占用8位,一個字節,相當於uint8,不帶符號位
  • floatx:由於沒有double類型,所以float64就是double。float32小數精確到7位,float64小數精確到15位
  • complex64/complex128:復數類型
  • uintptr:保存指針用的類型,也是隨着平台改變而改變,因為指針的長度就是隨平台而變
  • 其他類型值:array,struct,string
  • 引用類型:slice,map,channel
  • 接口類型:interface
  • 函數類型:func

注意:Golang中還有個rune類型,它等價於int32類型。

類型轉換

Golang是靜態類型的編程語言,所有數據的類型在編譯期確定了。而且 Golang中即使是底層存的是一個類型,聲明的類型不一樣,也要強制轉換才能互用。在Go 語言里面沒有隱式轉換,遇到不同類型想互用,只能進行強制類型轉換。

Go語言類型轉換基本格式如下:

type_name(expression)

其中type_name是數據類型,expression是原始數據或表達式。

以下實例中將整型轉化為浮點型,並計算結果,將結果賦值給浮點型變量:

package main
import "fmt"
func main() {
   var sum int = 232      
   var count int = 12     
   var avg float32        
   avg = float32(sum)/float32(count)  //強制轉換
   fmt.Printf("avg 的值為: %f\n",avg)
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM