真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

go語言字符串中文 go語言字符串轉換成數(shù)字

go處理中文字符串

先來看一個簡單的例子

十年專注成都網站制作,成都企業(yè)網站定制,個人網站制作服務,為大家分享網站制作知識、方案,網站設計流程、步驟,成功服務上千家企業(yè)。為您提供網站建設,網站制作,網頁設計及定制高端網站建設服務,專注于成都企業(yè)網站定制,高端網頁制作,對成都活動板房等多個領域,擁有多年建站經驗。

輸出的結果為:

從上面例子中可以看出,string是以byte數(shù)組形式存儲的,而一個utf8格式的中文占3個byte.要得到正確的中文字符的長度和分割,可以使用 rune 數(shù)組來拆分. rune類型是int32的別名,一個rune可以表示一個中文字符,go也提供了rune數(shù)組自動拆分string中文字符的方法 rt := []rune(str) .

我們再把上面例子修改一下:

得到的輸出結果為:

這樣就能比較好的處理中文了,而且不會出現(xiàn)亂碼的情況.

Go中字符串的遍歷

首先說一下go中的字符串類型:

字符串就是一串固定長度的字符連接起來的字符序列。Go的字符串是由單個字節(jié)連接起來的。Go語言的字符串的字節(jié)使用UTF-8編碼標識Unicode文本。

下面介紹字符串的三種遍歷方式,根據實際情況選擇即可。

該遍歷方式==缺點==:遍歷是按照字節(jié)遍歷,因此如果有中文等非英文字符,就會出現(xiàn)亂碼,比如要遍歷"abc北京"這個字符串,效果如下:

可見這不是我們想要的效果,根據utf-8中文編碼規(guī)則,我們要str[3]str[4]str[5]三個字節(jié)合起來組成“北”字及 str[6]str[7]str[8]合起來組成“京”字。由此引出下面第二種遍歷方法。

該方式是按照字符遍歷的,所以不會出現(xiàn)亂碼,如下:

運行結果:

從圖中可以看到第二個漢子“京”的開始下標是6,直接跳過了4和5,可見確實依照utf8編碼方式將三個字節(jié)組合成了一個漢字,str[3]-str[5]組合成“北”字,str[6]-str[8]組合成了“京”字。

由于下標的不確定性,所以引出了下面的遍歷方式。

1 可以先將字符串轉成 []rune 切片

2 再用常規(guī)方法進行遍歷

運行效果:

由此可見下標是按1遞增的,沒有產生跳躍現(xiàn)象。

go語言怎么輸出字符串中的某個中文字符?

for index,val := range a {

if val == '好' {

fmt.println(index,x)

}

}

對string做range得到的val是int32類型,直接用單引號比較就行


網站題目:go語言字符串中文 go語言字符串轉換成數(shù)字
文章位置:http://weahome.cn/article/dosjgcj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部