您好,登錄后才能下訂單哦!
本篇內容主要講解“Go語言中的基本數據類型介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Go語言中的基本數據類型介紹”吧!
Go 語言是一種靜態類型的編程語言,在 Go 編程語言中,數據類型用于聲明函數和變量。數據類型的出現是為了把數據分成所需內存大小不同的數據,編程的時候需要用大數據的時候才需要申請大內存,就可以充分利用內存。
布爾型
布爾類型的值只有兩種:true 或 false。在if 和 for 語句的條件部分都是布爾類型的值,并且 == 和 < 等比較操作也會產生布爾型的值。
一元操作符 ! 對應邏輯非操作,因此 !true 的值為 false,更復雜一些的寫法是 (!true==false) == true,實際開發中我們應盡量采用比較簡潔的布爾表達式,就像用 x 來表示 x==true。
var a = 10 fmt.Println(a == 10) // true fmt.Println(a == 5) // false fmt.Println(a != 10) // false fmt.Println(a != 5) // true
Go 語言對于值之間的比較有非常嚴格的限制,只有兩個相同類型的值才可以進行比較,如果值的類型是接口(interface),那么它們也必須都實現了相同的接口。如果其中一個值是常量,那么另外一個值可以不是常量,但是類型必須和該常量類型相同。如果以上條件都不滿足,則必須將其中一個值的類型轉換為和另外一個值的類型相同之后才可以進行比較。
var a = 10 fmt.Println(a == true) // cannot use true (type untyped bool) as type int
布爾值可以和 &&(AND)和 ||(OR)操作符結合,并且有短路行為,如果運算符左邊的值已經可以確定整個布爾表達式的值,那么運算符右邊的值將不再被求值,因此下面的表達式總是安全的:
s != "" && s[0] == 'x'
Go 語言中不允許將整型強制轉換為布爾型,代碼如下:
var n bool fmt.Println(int(n) * 2) // cannot convert n (type bool) to type int
數值型
Go 語言的數值類型分為以下幾種:整數、浮點數、復數。其中每一種都包含了不同大小的數值類型,例如有符號整數包含 int8、int16、int32、int64 等,每種數值類型都決定了對應的大小范圍和是否支持正負符號。本小節我們主要介紹一下數值類型。
整型
Go 語言也是基于架構的類型,同時提供了有符號和無符號的整數類型。
大多數情況下,我們只需要 int 一種整型即可,它可以用于循環計數器(for 循環中控制循環次數的變量)、數組和切片的索引,以及任何通用目的的整型運算符,通常 int 類型的處理速度也是最快的。
浮點型
Go 語言提供了兩種精度的浮點數:float32 和 float64,這些浮點數類型的取值范圍可以從很微小到很巨大。
復數
復數是由兩個浮點數表示的,其中一個表示實部(real),一個表示虛部(imag)。
Go 語言中復數的類型有兩種,分別是 complex128(64 位實數和虛數)和 complex64(32 位實數和虛數),其中 complex128 為復數的默認類型。
復數的值由三部分組成 RE + IMi,其中 RE 是實數部分,IM 是虛數部分,RE 和 IM 均為 float 類型,而最后的 i 是虛數單位。如:1+2i
字符串型
字符串是一種值類型,且值不可變,即創建某個文本后將無法再次修改這個文本的內容,其實,字符串是字節的定長數組。
使用雙引號 "" 來定義字符串,字符串中可以使用轉義字符來實現換行、縮進等效果,常用的轉義字符包括:
\n:換行符
\r:回車符
\t:tab 鍵
\u 或 \U`:Unicode 字符
\\:反斜杠自身
Go 語言比其他語言更加的靈活,此外,可通過反引號 ` 可以定義多行字符串。(注意:是反引號 `(鍵盤上1鍵左邊鍵),而不是引號 ‘)
到此,相信大家對“Go語言中的基本數據類型介紹”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。