站長資訊網
        最全最豐富的資訊網站

        go語言如何求字符串長度

        go語言求字符串長度的方法:1、使用“len()”函數計算ASCII字符串長度;2、使用“utf8.RuneCountInString()”函數計算Unicode字符串長度。

        go語言如何求字符串長度

        本文操作環境:Windows7系統、Go1.11.2版,Dell G3電腦。

        推薦教程:《go語言

        Go語言計算字符串長度——len()和RuneCountInString()

        Go 語言的內建函數 len(),可以用來獲取切片、字符串、通道(channel)等的長度。下面的代碼可以用 len() 來獲取字符串的長度。

        tip1 := "genji is a ninja" fmt.Println(len(tip1)) tip2 := "忍者" fmt.Println(len(tip2))

        程序輸出如下:

        16 6

        len() 函數的返回值的類型為 int,表示字符串的 ASCII 字符個數或字節長度。

        輸出中第一行的 16 表示 tip1 的字符個數為 16。

        輸出中第二行的 6 表示 tip2 的字符格式,也就是“忍者”的字符個數是 6,然而根據習慣,“忍者”的字符個數應該是 2。

        這里的差異是由于 Go 語言的字符串都以 UTF-8 格式保存,每個中文占用 3 個字節,因此使用 len() 獲得兩個中文文字對應的 6 個字節。

        如果希望按習慣上的字符個數來計算,就需要使用 Go 語言中 UTF-8 包提供的 RuneCountInString() 函數,統計 Uncode 字符數量。

        下面的代碼展示如何計算UTF-8的字符個數。

        fmt.Println(utf8.RuneCountInString("忍者")) fmt.Println(utf8.RuneCountInString("龍忍出鞘,fight!"))

        程序輸出如下:

        2 11

        一般游戲中在登錄時都需要輸入名字,而名字一般有長度限制。考慮到國人習慣使用中文做名字,就需要檢測字符串 UTF-8 格式的長度。

        總結

        ASCII 字符串長度使用 len() 函數。

        Unicode 字符串長度使用 utf8.RuneCountInString() 函數。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 久久99国产精品二区不卡| 国产精品无码免费专区午夜| 亚洲精品欧美综合| 亚洲一区爱区精品无码| 国产精品女同一区二区久久| 精品无码人妻夜人多侵犯18| 免费看污污的网站欧美国产精品不卡在线观看 | 亚洲高清国产拍精品26U| 99九九精品免费视频观看| 国产精品日韩AV在线播放| 伊人精品久久久久7777| 精品久久久久久无码人妻热| 亚洲精品欧美综合| 国产亚洲综合成人91精品| 欧美成人精品高清在线观看| 日韩专区亚洲精品欧美专区| 国产精品日韩欧美久久综合| 国产偷亚洲偷欧美偷精品| 99精品视频免费| 丰满人妻熟妇乱又仑精品| 精品无码久久久久久午夜| 熟女精品视频一区二区三区| 无码精品人妻一区二区三区免费| 精品午夜国产人人福利| 国产成人精品日本亚洲专区 | 国产精品一级片| 国产精品天干天干综合网| 日韩精品人妻系列无码专区| 夜夜精品无码一区二区三区 | 6080亚洲精品午夜福利| 欧美日韩在线亚洲国产精品| 精品国产一区二区三区久久| 69SEX久久精品国产麻豆| 国产成人精品手机在线观看| 在线精品亚洲一区二区小说| 伊人久久无码精品中文字幕| 亚欧乱色国产精品免费视频 | 国产精品揄拍100视频| 精品人妻中文字幕有码在线| 熟妇无码乱子成人精品| 精品免费人成视频app|