目錄
- 簡介
- 整型
- 浮點型別
- 布爾型
- 復數
簡介
在變數的定義中,我們講了每個變數是有型別的,型別在計算機中是用來約束資料的解釋,Go語言和其它計算機語言一樣,提供豐富了豐富的資料型別,我們就來看看到底有哪些型別,同時也可以比較一下它和其它語言的區別,
整型
整型就是用來表示變數是整數的型別,和C類似,Go整型分為兩個大類,無符號和有符號的,有符號簡單來說就是能表示負數的型別,無符號就是這個型別沒有正負號,統一表示整數,除了符號還有一點就是長度,因為符號和長度就決定了整型的范圍,下面是Go整型的分類:
| 型別 | 說明 | 范圍 |
|---|---|---|
| int | 整型,長度和平臺機器位元組大小相關一般32或者64位 | 和位元組碼相關 |
| uint | 無符號整型,長度和平臺機器位元組大小相關一般32或者64位 | 和位元組碼相關 |
| int8 | 有符號8位整型 | -128 ~ 127 |
| uint8 | 無符號8位整型 | 0 ~ 255 |
| int16 | 有符號16位整型 | -32768 ~ 32767 |
| uint16 | 無符號16位整型 | 0 ~ 65535 |
| int32 | 有符號32位整型 | -2147483648 ~ 2147483647 |
| uint32 | 無符號32位整型 | 0 ~ 4294967295 |
| int64 | 有符號64位整型 | -9223372036854775808 ~ 9223372036854775807 |
| uint64 | 無符號64位整型 | 0 ~ 18446744073709551615 |
浮點型別
Go有兩種浮點型別,float32和float64,它們都符合IEEE754規范的定義,講到浮點型別不得不提到的就是精度,float32大概提供6位的精度誤差,而float64提供約15位的精度誤差,
例如下面的代碼:
package main
import "fmt"
func main() {
var i float32 = 10
var j float32 = 10.0000000001
var m float64 = 10
var n float64 = 10.0000000001
fmt.Println(i == j)
fmt.Println(m == n)
}
列印的是:
true
false
因此在平時的使用中需要注意精度的問題,除了直接用小數的形式,還可以用科學計數法,例如
var i float32 = 10e-2 // 0.01
布爾型
布爾型別一共有2種:true 和false,通常用進行邏輯判斷的
復數
復數在通常用的不是很多,在數學上的定義,復數有實部和虛部,Go提供了兩種精度的復數型別,complex64和complex128分別對應了float32和float64的精度,
var x complex128 = complex(1, 2) // 1+2i
var y complex128 = complex(3, 4) // 3+4i
i := 1 + 2i
j := 3 + 4i
上面是復數的寫法,分別指定它們的實部和虛部就行了,復數也可以比較是否相等
i := 1 + 2i
j := 1 + 3i
fmt.Println(i == j)
但是必須實部和虛部都相同才為true
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/3655.html
標籤:Go
上一篇:Golang學習系列第二天:變數、常量、資料型別和流程陳述句
下一篇:Go的100天之旅-05常量
