Go語言與數據庫開發:01-03
在本文中,我們將介紹go的基礎數據類型。
雖然從底層而言,所有的數據都是由比特組成,但計算機一般操作的是固定大小的數,如整
數、浮點數、比特數組、內存地址等。進一步將這些數組織在一起,就可表達更多的對象,
例如數據包、像素點、詩歌,甚至其他任何對象。Go語言提供了豐富的數據組織形式,這依
賴於Go語言內置的數據類型。這些內置的數據類型,兼顧了硬件的特性和表達複雜數據結構
的便捷性。
Go語言將數據類型分為四類:基礎類型、複合類型、引用類型和接口類型。
本文將介紹基礎類型,包括:數字、字符串和布爾型;
整型
有符號類型: int8、int16、int32和int64
無符號類型: uint8、uint16、uint32和uint64
無符號的整數類型uintptr
對應特定CPU平台機器字大小的有符號和無符號整數int和uint;這兩種類型都有同樣的大小,32或64bit;
其中有符號整數采用2的補碼形式表示,也就是最高bit位用作表示符號位
+運算符還有一個與賦值相結合的對應運算符+=,可以用於簡化賦值語句。
%取模運算符
二元比較運算符,比較表達式的結果是布爾類型:
== equal to
!= not equal to
< less than
<= less than or equal to
greater than
= greater than or equal to
對於整數,+x是0+x的簡寫,-x則是0-x的簡寫;對於浮點數和複數,+x就是x,-x則是x 的負數。
bit位操作運算符:
& 位運算 AND
| 位運算 OR
^ 位運算 XOR
&^ 位清空 (AND NOT)
<< 左移
右移
一般來說,需要一個顯式的轉換將一個值從一種類型轉化位另一種類型,並且算術和邏輯運
算的二元操作中必須是相同的類型。
否則,需要顯式轉換成顯式轉型為一個常見類型,比如:
var compote = int(apples) + int(oranges)
對於每種類型T,如果轉換允許的話,類型轉換操作T(x)將x轉換為T類型。許多
整形數之間的相互轉換並不會改變數值;它們隻是告訴編譯器如何解釋這個值。但是對於將
一個大尺寸的整數類型轉為一個小尺寸的整數類型,或者是將一個浮點數轉為整數,可能會
改變數值或丟失精度。
浮點數到整數的轉換將丟失任何小數部分,然後向數軸零方向截斷。
最後更新:2017-08-13 22:33:50