自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

你知道Go語言的Rune嗎?

開發(fā) 后端
由于rune可表示的范圍更大,所以能處理一切字符,當(dāng)然也包括中文字符。在平時計算中文字符,可用rune。當(dāng)我們數(shù)據(jù)中有中文時,一定要注意rune的處理。

rune它是int32的別名(-2147483648~2147483647),相比于byte(-128~127),可表示的字符更多。

由于rune可表示的范圍更大,所以能處理一切字符,當(dāng)然也包括中文字符。在平時計算中文字符,可用rune。

當(dāng)我們數(shù)據(jù)中有中文時,一定要注意rune的處理。

len()詳解

len()獲得的是 byte 字節(jié)的數(shù)量,一個中文占用3個字節(jié)

s := "Hello王"
sHello := "Hello"
sWang := "王"
//len()獲得的是 byte 字節(jié)的數(shù)量
fmt.Println(len(s))
fmt.Println(len(sHello))
fmt.Println(len(sWang))

輸出結(jié)果是:8 5 3

循環(huán)輸出字符串

s := "Hello王"
for i := 0; i < len(s); i++ {
fmt.Printf("%c\n", s[i])
}

輸出結(jié)果:

圖片

我們發(fā)現(xiàn)英文可以正常輸出,但是中文通過這種方式輸出會亂碼

循環(huán)輸出中文字符串

我們可以通過for range循環(huán),從字符串中拿出具體的字符

s := "Hello王"
for _, c := range s {
fmt.Printf("%c\n", c) //%c 字符
}

輸出結(jié)果:

圖片

字符串的修改

字符串修改是不能直接修改的,需要轉(zhuǎn)成rune切片后再修改

s2 := "小白兔"
s3 := []rune(s2) //把字符串強制轉(zhuǎn)成rune切片
s3[0] = '大' //注意 這里需要使用單引號的字符,而不是雙引號的字符串
fmt.Println(string(s3)) //把rune類型的s3強轉(zhuǎn)成字符串

輸出結(jié)果:大白兔

字符和字符串的區(qū)別

c1 := "紅"
c2 := '紅'
fmt.Printf("c1的類型:%T c2的類型:%T \n", c1, c2)
c3 := "H"
c4 := 'H'
fmt.Printf("c3的類型:%T c4的類型:%T \n", c3, c4)

輸出結(jié)果:

c1的類型:string c2的類型:int32 
c3的類型:string c4的類型:int32

總結(jié):我們發(fā)現(xiàn)只要是雙引號包裹的類型就是string,只要是單引號包裹的類型就是int32,也就是rune。和中英文無關(guān)。

知識點:rune的別名是int32

類型轉(zhuǎn)換

n1 := 10
var f float64
f = float64(n1)
fmt.Printf("f的類型是:%T f的值是:%v\n", f,f)

輸出結(jié)果:

f的類型是:float64 f的值是:10

總結(jié)

字符串的修改要轉(zhuǎn)成rune切片,而不能像PHP一樣直接修改。

本文轉(zhuǎn)載自微信公眾號「 程序員升級打怪之旅」,作者「王中陽Go」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系程序員升級打怪之旅公眾號。

責(zé)任編輯:武曉燕 來源: 程序員升級打怪之旅
相關(guān)推薦

2021-11-10 15:37:49

Go源碼指令

2024-08-19 00:00:02

2023-03-07 10:32:34

Go語言結(jié)構(gòu)體

2024-09-02 00:30:41

Go語言場景

2024-10-09 08:54:31

2021-05-31 10:22:09

Go語言代碼

2022-01-05 11:40:36

Go特性語言

2021-07-11 18:04:04

C語言

2020-08-06 09:03:44

Go語言獲取文件代碼

2020-05-15 14:34:16

C語言丹尼斯 · 里奇開發(fā)者

2023-01-31 09:02:24

JSVMVR

2022-06-01 07:10:43

遞歸字典極限

2023-12-29 08:42:46

高并發(fā)Go語言

2024-03-08 13:33:08

PG數(shù)據(jù)安全

2010-11-23 10:21:53

跳槽

2018-01-10 08:27:00

2019-06-03 10:14:07

API網(wǎng)關(guān)微服務(wù)

2022-06-29 08:32:04

游標(biāo)MySQL服務(wù)器

2021-10-08 21:00:52

數(shù)據(jù)弱引用對象

2023-12-12 08:41:01

點贊
收藏

51CTO技術(shù)棧公眾號