基礎型別
bool
int8 byte int16 int uint uintptr
float32 float64
complex64 complex128(複數)
string
rune(字元)
error(錯誤)
bool
true/false
整型
int8 1byte uint8 1byte
int16 2byte uint16 2byte
int32 4byte uint32 4byte
int64 8byte uint64 8byte
int、
uint: 與平台有關
uintptr: 32位平台下4byte,64位平台下8byte
1、推薦使用int/uint/uintptr
2、int與int32是兩種型別,不能自動型別轉換
整型變數宣告,預設int型別
運算子
+ - * / %: 同c
> < == >= <= !=: 同c
型別不同的整型不能直接比較
<< >> ^ & |:同c,左移、右移、異或、位與、位或
^x: 位反,加負號再減1(c中為~x)
浮點型
float32: 同c的float
float64: 同c的double,
預設的浮點型別
1、不同型別的浮點數不能直接進行運算,需要轉換成相同的型別
2、浮點數直接比較,可能導致不穩定的結果(未測試出來)
使用數**算的方式進行比較
return math.abs(f1-f2) < 0.00001
複數
由兩個浮點數組成,分別為實部、虛部
complex64使用float32分別儲存實部、虛部
complex128使用float64分別儲存實部、虛部,預設的處理方式 賦值
var cpx1 = 23 + 3i
cpx2 := complex(23, 3)
分別取實部/虛部
var fc1 =
real(cpx1)
fc2 :=
imag(cpx2)
其他函式
文件:
math/cmplx
string
var str string = "hello world"
1、可以通過下標獲取字元,但不能修改,
c1 := str[0]
下標從0開始
2、獲取字串長度 lengh :=
len(str)
3、字串拼接:str = str1 + str2
其他函式
文件:
strings
rune
字元型別,表示單個unicode字元
其他函式
文件:unicode包、unicode/utf8包
byte
字元型別,表示utf-8字串的單個位元組的值
常用
go 型別 摘自go語言學習筆記
從計算機實現角度來看,變數是一段或多段用來儲存資料的記憶體 go變數總是有固定的資料型別,型別決定了變數記憶體的長度和儲存格式 通過型別轉換或指標操作,我們可用不同方式修改變數值,但這並不意味著改變了變數型別 因為記憶體分配發生在執行期,所以在編碼階段我們用乙個易於閱讀的名字來表示這段記憶體。實際上...
Go語言學習筆記 Go語言資料型別
布林型 布林型的值只可以是常量true或者false。乙個簡單的例子 var b bool true。數字型別 整型int和浮點型float32 float64,go 語言支援整型和浮點型數字,並且支援複數,其中位的運算採用補碼。字串型別 字串就是一串固定長度的字元連線起來的字串行。go 的字串是由...
C語言學習筆記3 型別轉換
c語言中 資料型別可以轉換 強制型別轉換 隱式型別轉換 強制型別轉換的語法 type var name type name 強制型別轉換的結果 目標型別能容納目標值 結果不變 目標型別不能容納目標值 結果將產生截斷 注意 不是所有的強制型別轉換都能成功,當不能進行強制型別轉換時,編譯器將產生錯誤資訊...