首先說一下go中的字符串類型:
創(chuàng)新互聯(lián)主營元謀網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,app開發(fā)定制,元謀h5微信小程序搭建,元謀網(wǎng)站營銷推廣歡迎元謀等地區(qū)企業(yè)咨詢
字符串就是一串固定長度的字符連接起來的字符序列。Go的字符串是由單個字節(jié)連接起來的。Go語言的字符串的字節(jié)使用UTF-8編碼標識Unicode文本。
下面介紹字符串的三種遍歷方式,根據(jù)實際情況選擇即可。
該遍歷方式==缺點==:遍歷是按照字節(jié)遍歷,因此如果有中文等非英文字符,就會出現(xiàn)亂碼,比如要遍歷"abc北京"這個字符串,效果如下:
可見這不是我們想要的效果,根據(jù)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遞增的,沒有產(chǎn)生跳躍現(xiàn)象。
不是的,分情況。
golang支持兩種類型的字符串字面量:解釋型字符串:雙引號括起來的字符串(““),轉義字符(如\n\r等)會被替換掉。
非解釋型字符串:用反引號(鍵盤左上角上的)括起來的字符串,轉義字符不會被解釋且可跨行(原樣輸出)
go語言的字符串是UTF-8編碼的、不可改變的字節(jié)序列。
要修改字符串,只能以原串為基礎,創(chuàng)建一個新串。下面的圖中是一個參考示例,提供了以原串為藍本,創(chuàng)建新串的兩種方法。
代碼
輸出
網(wǎng)站名稱:go語言中的原樣字符串 go語言string
網(wǎng)頁地址:http://www.rwnh.cn/article44/ddcpphe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司、定制開發(fā)、做網(wǎng)站、、建站公司、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)