首先說一下go中的字符串類型:
創新互聯公司專注于企業全網營銷推廣、網站重做改版、葉城網站定制設計、自適應品牌網站建設、H5場景定制、商城網站建設、集團公司官網建設、外貿網站建設、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為葉城等各大城市提供網站開發制作服務。
字符串就是一串固定長度的字符連接起來的字符序列。Go的字符串是由單個字節連接起來的。Go語言的字符串的字節使用UTF-8編碼標識Unicode文本。
下面介紹字符串的三種遍歷方式,根據實際情況選擇即可。
該遍歷方式==缺點==:遍歷是按照字節遍歷,因此如果有中文等非英文字符,就會出現亂碼,比如要遍歷"abc北京"這個字符串,效果如下:
可見這不是我們想要的效果,根據utf-8中文編碼規則,我們要str[3]str[4]str[5]三個字節合起來組成“北”字及 str[6]str[7]str[8]合起來組成“京”字。由此引出下面第二種遍歷方法。
該方式是按照字符遍歷的,所以不會出現亂碼,如下:
運行結果:
從圖中可以看到第二個漢子“京”的開始下標是6,直接跳過了4和5,可見確實依照utf8編碼方式將三個字節組合成了一個漢字,str[3]-str[5]組合成“北”字,str[6]-str[8]組合成了“京”字。
由于下標的不確定性,所以引出了下面的遍歷方式。
1 可以先將字符串轉成 []rune 切片
2 再用常規方法進行遍歷
運行效果:
由此可見下標是按1遞增的,沒有產生跳躍現象。
這個主要是為了展現UTF8編碼的力量,Go全部采用了UTF8編碼,至于這個世界是日文也好,中文也好,無關緊要
本文主要介紹了Go語言中文件讀寫的相關操作。
文件是什么?
計算機中的文件是存儲在外部介質(通常是磁盤)上的數據集合,文件分為文本文件和二進制文件。
os.Open() 函數能夠打開一個文件,返回一個 *File 和一個 err 。對得到的文件實例調用 close() 方法能夠關閉文件。
為了防止文件忘記關閉,我們通常使用defer注冊文件關閉語句。
Read方法定義如下:
它接收一個字節切片,返回讀取的字節數和可能的具體錯誤,讀到文件末尾時會返回 0 和 io.EOF 。 舉個例子:
使用for循環讀取文件中的所有數據。
bufio是在file的基礎上封裝了一層API,支持更多的功能。
io/ioutil 包的 ReadFile 方法能夠讀取完整的文件,只需要將文件名作為參數傳入。
os.OpenFile() 函數能夠以指定模式打開文件,從而實現文件寫入相關功能。
其中:
name :要打開的文件名 flag :打開文件的模式。 模式有以下幾種:
perm :文件權限,一個八進制數。r(讀)04,w(寫)02,x(執行)01。
for index,val := range a {
if val == '好' {
fmt.println(index,x)
}
}
對string做range得到的val是int32類型,直接用單引號比較就行
網頁名稱:go語言中抓取漢字 go語言字符
網頁路徑:http://vcdvsql.cn/article6/hhpdog.html
成都網站建設公司_創新互聯,為您提供Google、品牌網站建設、靜態網站、小程序開發、標簽優化、全網營銷推廣
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯