有符號整型: int八、int1六、int3二、int64ide
對應的無符號整型: uint八、uint1六、uint3二、uint64函數
uint就是咱們熟知的byte類型,int16對應C語言的short型,int64對應C語言的long型,Unicode字符的rune類型和int32等價。ui
哪些狀況下使用 int 和 uintspa
1.邏輯對整型範圍沒有特殊需求。code
2.例如,對象的長度使用內建 len() 函數返回,這個長度能夠根據不一樣平臺的字節長度進行變化。實際使用中,切片或 map 的元素數量等均可以用 int 來表示。對象
3.反之,在二進制傳輸、讀寫文件的結構描述時,爲了保持文件的結構不會受到不一樣編譯目標平臺字節長度的影響,不要使用 int 和 uint。blog
1.運算符編譯
下面是關於Go語言中關於算數運算,邏輯運算和比較運算的二元運算符,按照先級遞減的順序排列class
* / % << >> & &^import
+ - | ^
== != <= > >=
&&
| |
同一優先級使用左優先結合規則,也可用()提高優先級
2.類型轉化
不一樣類型之間不能進行計算,如想進行計算需先進行類型轉換
var i int32 = 10 var j int64 = 20 var w int = i + j //compile error: misatched types int32 and int64 var w int = int(i) + int(j) //30 類型轉換後可計算
3.類型轉換後發生值改變的狀況
//浮點數轉整型,會省略小數點後的值 f := 3.1415 i := int(f) fmt.Println(f,i) // 「3.1415 3」 //高位數的整型轉低位數的整型會致使值改變 var i int16 = 26985 var j int8 = int8(i) fmt.Println("int16",i) fmt.Println("int8",j)
一、浮點數精度
float32:常量math.MaxFloat32表示float32能表示的最大數值,大約是3.4e38。大約能夠提供6個十進制數的精度。
float64:對應的常量math.MaxFloat64大約是1.8e308,能夠提供十五個十進制數的精度。一般優先使用float64類型。
二、浮點數的打印
%g 打印浮點數
%e 帶指數的打印形式(對應表格的數據)
%f 打印對應表格的數據
package main import ( "fmt" "math" ) func main() { print_float() } func print_float(){ for x:=0;x<8;x++{ fmt.Printf("x = %d e^x = %8.3f\n",x,math.Exp(float64((x)))) } } // %8.3f 8表示展現數據的寬度,即顯示多少個數字,3表示精準度,即小數點後保留幾位 //運行結果 //x = 0 e^x = 1.000 //x = 1 e^x = 2.718 //x = 2 e^x = 7.389 //x = 3 e^x = 20.086 //x = 4 e^x = 54.598 //x = 5 e^x = 148.413 //x = 6 e^x = 403.429 //x = 7 e^x = 1096.633