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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

go--基本数据类型

發布時間:2025/6/17 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 go--基本数据类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

整形

整型分為以下兩個大類: 按長度分為:int8、int16、int32、int64 對應的無符號整型:uint8、uint16、uint32、uint64

其中,uint8就是我們熟知的byte型,int16對應C語言中的short型,int64對應C語言中的long型。

八進制和十六進組織

func main(){// 十進制var a int = 10fmt.Printf("%d \n", a) // 10fmt.Printf("%b \n", a) // 1010 占位符%b表示二進制// 八進制 以0開頭var b int = 077fmt.Printf("%o \n", b) // 77// 十六進制 以0x開頭var c int = 0xfffmt.Printf("%x \n", c) // fffmt.Printf("%X \n", c) // FF// 變量的內存地址fmt.Printf("%p \n", &a) // 0xc00004c080 占位符%p表示十六進制的內存地址

浮點型

Go語言支持兩種浮點型數:float32和float64。

func main() {fmt.Printf("%f\n", math.Pi)fmt.Printf("%.2f\n", math.Pi) }

布爾型

Go語言中以bool類型進行聲明布爾型數據,布爾型數據只有true(真)和false(假)兩個值。

注意: 1. 布爾類型變量的默認值為false。 2. Go 語言中不允許將整型強制轉換為布爾型. 3. 布爾型無法參與數值運算,也無法與其他類型進行轉換。

字符串

Go 語言里的字符串的內部實現使用UTF-8編碼。 字符串的值為雙引號(")中的內容。
注意:在go中,''單引號中存放的是單個的字符,而不是字符串。

字符串常用函數

  • len():求字符串長度。
  • +或fmt.Sprintf:拼接字符串。
  • strings.Split:分割字符串
  • strings.contains:判斷是否包含
  • strings.HasPrefix,strings.HasSuffix:前綴/后綴判斷
  • strings.Index(),strings.LastIndex():子串出現的位置
  • strings.Join(a[]string, sep string):join操作

byte和rune類型

組成每個字符串的元素叫做“字符”,可以通過遍歷或者單個獲取字符串元素獲得字符。 字符用單引號(’)包裹起來。

Go 語言的字符有以下兩種: 1. uint8類型,或者叫 byte 型,代表了ASCII碼的一個字符。 2. rune類型,代表一個 UTF-8字符。

當需要處理中文、日文或者其他復合字符時,則需要用到rune類型。rune類型實際是一個int32。

Go 使用了特殊的 rune 類型來處理 Unicode,讓基于 Unicode 的文本處理更為方便,也可以使用 byte 型進行默認字符串處理,性能和擴展性都有照顧。

// 遍歷字符串 func traversalString() {s := "hello沙河"for i := 0; i < len(s); i++ { //bytefmt.Printf("%v(%c) ", s[i], s[i])}fmt.Println()for _, r := range s { //runefmt.Printf("%v(%c) ", r, r)}fmt.Println() }// 結果為 104(h) 101(e) 108(l) 108(l) 111(o) 230(?) 178(2) 153() 230(?) 178(2) 179(3) 104(h) 101(e) 108(l) 108(l) 111(o) 27801(沙) 27827(河)

修改字符串

要修改字符串,需要先將其轉換成[]rune或[]byte,完成后再轉換為string。無論哪種轉換,都會重新分配內存,并復制字節數組。

func changeString() {s1 := "big"// 強制類型轉換byteS1 := []byte(s1)byteS1[0] = 'p'fmt.Println(string(byteS1))s2 := "白蘿卜"runeS2 := []rune(s2)runeS2[0] = '紅'fmt.Println(string(runeS2)) }

強制類型轉換

Go語言中只有強制類型轉換,沒有隱式類型轉換。 基本語法:T(表達式)。

其中,T表示要轉換的類型。表達式包括變量、復雜算子和函數返回值等. 比如計算直角三角形的斜邊長。

func sqrtDemo() {var a, b = 3, 4var c int// math.Sqrt()接收的參數是float64類型,需要強制轉換c = int(math.Sqrt(float64(a*a + b*b)))fmt.Println(c) }

轉載于:https://www.cnblogs.com/peilanluo/p/10630275.html

總結

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

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