golang——rune使用詳解

一、定義

經常在開源庫中,能rune關鍵字,從golang源碼中看出,它是int32的別名(-2^31 ~ 2^31-1),對于byte(-128~127),可表示的字符更多。

二、使用

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

package main

import (
    "fmt"
    "unicode/utf8"
)

func main() {
    var chinese = "我是中國人, I am Chinese"
    fmt.Println("chinese length", len(chinese))
    fmt.Println("chinese word length", len([]rune(chinese)))
    fmt.Println("chinese word length", utf8.RuneCountInString(chinese))
}
//輸出,注意在golang中一個漢字占3個byte
chinese length 31
chinese word length 19
chinese word length 19
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 在計算機中最小的信息單位是bit,也就是一個二進制位,8個bit組成一個Byte,也就是字節。一個存儲單元(一個地...
    劉巖2019閱讀 424評論 0 0
  • 變量定義 變量定義語法 使用var關鍵字,可放在函數內,也可放在包內 使用:=定義變量,只能在函數內使用 內建變量...
    wch853閱讀 1,457評論 0 2
  • 一、 “你我孤男寡女同行真的不合適。” “我一個寡女都沒說什么,你一個孤男激動啥?” 遇見重深是以英雄救美開始的,...
    貓思思閱讀 463評論 6 6
  • 中甲聯賽第17輪已經拉開戰幕,在8月4日晚中甲進行了一場焦點戰,由北京北控客場挑戰升班馬黑龍江fc。雙方首回合的較...
    楓橋落夜閱讀 385評論 0 0
  • 水平居中設置-行內元素 我們在實際工作中常會遇到需要設置水平居中的場景,比如為了美觀,文章的標題一般都是水平居中顯...
    greente_a閱讀 353評論 0 0