Go进阶(2): 变量+数据类型
變量是程序的基本組成單位。Note: 1. Go可以根據值自行判斷變量類型(類型推導),如 var num = 10.10; 2. 省略var 利用 := 進行變量定義。:= 左側的變量不應該是已經生命過的,否則會導致編譯器編譯錯誤,如 num := 10.10 (聲明與賦值,與等同上面)。 3. 多變量同時定義,如 var num1, num2, num3 int; var num1, name, floatnum = 100, "shenziheng", 10.10 (或 num1, name, floatnum := 100, "shenziheng", 10.10)。 值得一提的全局變量的聲明方式,如下:
var gnum1 = 100 var gfloat = 10.10 var gstr = "shenziheng"//等價于 var (gnum1 = 100gfloat = 10.10gstr = "shenziheng" )- 基本數據類型
整數數據類型:int8 int16 int32 int32 uint8 uint16 uint32 uint64 rune (類似于uint32 Unicode編碼 適用于中文)
字符數據類型:byte (也可以表示整數0-255)
浮點數據類型:float32? float64??double64 (默認float64, 可能存在精度損失)
布爾數據類型:bool(只能取true 或者 false)
字符串數據類型:string (UTF-8標識Unicode文本,解決了中文亂碼情況)
- 基本數據類型轉換
Golang與java/c不同,Go的不同類型的變量之間賦值是需要顯式轉換,無法自動轉換。
基本數據類型轉換成string,建議使用fmt.Sprintf,例如:
var num int = 100 var str string str = fmt.Sprintf("%d", num) fmt.Println("str type %T, str %v", str, str)string轉成基本數據類型用strconv, 例如, var b bool = strconv.ParseBool("ziheng")。
- 引用類型(指針 切片slice map 通道channel 接口interface)
指針和C++一致,變量存儲的是一個地址,位于堆區(區別棧區與代碼區)。
總結
以上是生活随笔為你收集整理的Go进阶(2): 变量+数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Fedora 10 的主要功能特性已经冻
- 下一篇: Go进阶(3): 函数+闭包+defer