日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Go 变量及基本数据类型2

發布時間:2025/3/20 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Go 变量及基本数据类型2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#### Go 變量及基本數據類型(二)
今天學習一下基本數據類型,包括整數類型,小數類型,字符類型
##### 整數類型
用來存放整數數值的, 如0,1,-10,2222等;
整數型的類型有:
類型 有無符號 占用存儲空間 表數范圍
int8 1字節 -128~127
int16 2字節 -2^15~2^15-1
int32 4字節 -2^31~2^31-1
int64 8字節 -2^63~2^63-1
????





案例:

package main import ("fmt""unsafe") func main(){// 整數類型有符號(默認情況下int 類型根據系統平臺有關,32 位系統int= int32// 64 位系統int = int64var i int = 1 var i1 int8 = 127fmt.Println(i,i1)fmt.Println(unsafe.Sizeof(i)) //8 變量占用的內存大小單位字節fmt.Println(unsafe.Sizeof(i1)) //1 變量占用的內存大小單位字節 }

  整數類型的無符號類型

?

類型 有無符號占用儲存空間表數范圍
uint8 1字節 0~255
uint16 2字節 0~2^16-1
uint32 4字節 0~2^32-1
uint64 8字節 0~2^64-1


案例:
package main import ("fmt""unsafe") func main(){//整數類型無稱號(默認情況下uint類型跟系統平臺有關,32 位系統uint = uint32// 64 位系統 uint = uint64var i uint = 266var i1 uint16 = 100fmt.Println(i,i1)fmt.Println(unsafe.Sizeof(i)) // 8fmt.Println(unsafe.Sizeof(i1)) // 2 }

  整數類型的其它類型??

類型 有無符號 占用存儲空間 表數范圍
int 32位系統4字節,64位系統8字節 -2^31~2^31-1,-2^63~-2^63-1
uint 32位系統4字節,64位系統8字節 0~2^32-1,0~2^64-1
rune  有 4字節 -2^31~2^31-1,表示一個unicode 碼
byte ?無? 1字節 0~255 存儲字符時使用byte


package main import "fmt" func main(){var i int = 1000 // 無符號,內存大小跟系統平臺有關var i1 uint = 1 // 有符號內存大小跟系統平臺有關var i2 byte = 255 // 字節類型, 內存大小為1字節fmt.Println(i,i1,i2) }

  


整型的使用細節
1. int uint 的內存大小與系統有關;
2. Go 整型默認聲明為 int 類型
3. 在保證程序正確運行的情況下,盡量使用占用空間小的數據類型
package main import "fmt" func main(){// 默認類型為int var n = 100 // 格式化輸出fmt.Printf("n1 的類型為 %T \n,n) // %T 為類型// 使用占用空間小的數據類型var age byte = 21fmt.Println(age) }

  


##### 小數類型
小數類型是用來存儲小數的,如: 1.1,2.2,3.1414;
類型 占用存儲空間 表數范圍
單精度float32 4字節 -3.403E38~3.403E38
雙精度float64 8字節 -1.798E308~1.798E308
? package main import "fmt" func main(){var a float32 = 12.3var a1 float32 = -0.01var a2 float64 = -0.02fmt.Println(a,a1,a2)var a3 float32 = 1.00000088var a4 float32 = 1231.1111111var a5 float32 = 11231.1111111fmt.Println(a3) //1.0000008,尾數部分丟失, 精度損失fmt.Println(a4) //1231.1111,尾數部分丟失, 精度損失fmt.Println(a5) //11231.111,尾數部分丟失, 精度損失 }

  


小數型使用細節
1. Go 浮點類型有固定的范圍和字段長度,不受具體的系統影響;
2. Go 默認浮點類型為float64;
3. 開發中推薦使用float64;
4. 浮點類型常量兩種表示方式;
4.1 十進制數形式: 0.1415926 可以寫為: .1415926(***必須有小數點***);
4.2 科學計數法: 0.14e2 表示 0.14 *10 的2次方 = 14;
4.3 科學計數法: 0.14e-2 表示 0.14 / 10的2次方 = 0.0014;
##### 字符類型
Go 中沒有專門的字符類型,如要存儲單個字符(字母) ,一般使用byte 保存;
字符串就是一串固定長度的字符連接起來的字符序列,Go 的字符串由單個字節連接一起的,傳統的字符串由字符組成,而Go 的字符串由字節組成 ;
package main import "fmt" func main(){// 字節使用單引號表示var c byte = 'a'fmt.Println(c) // 直接打印byte 值,輸出的是該字節對應的unicode碼值// 輸出對應的字符需要格式化fmt.Printf("%c\n",c)// overflow 溢出//var c1 byte = '您' var c1 int = '您' fmt.Printf("c1=%c c1 對應的碼值為%d\n",c1,c1) }

  


字符類型使用細節
1. 如果保存的是ASCII 表的字符[0-9,a-z,A-Z],可以直接使用byte;
2. 如果保存的字符對應的碼值大于255(byte 表示最大數為255=int8),可以考慮表示范圍大的類型;
3. 如果想輸出字符,需要格式化輸出fmt.Printf("%c",c);
4. 字符常量是用單引號表示的單個字符;
5. Go 中允許使用轉義字符'\'將其后的字符轉變成特殊字符類型: 如: var c byte = '\n' 表示一個換行符;
6. Go 使用UTF-8 編碼: 一個英文字母為1字節,一個漢字為3字節;
7. 字符類型可以參與運算: 相當于一個整數
package main import "fmt" func main(){var a byte = 'a' fmt.Println(10+a) // 107 = 10 + 97 }

  --------------最近在同步更新微信公眾號: "開胃咸菜", 大家可以關注交流

?

轉載于:https://www.cnblogs.com/Mail-maomao/p/11357406.html

總結

以上是生活随笔為你收集整理的Go 变量及基本数据类型2的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。