站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

go語言如何求字符串長度

go語言求字符串長度的方法:1、使用“l(fā)en()”函數(shù)計(jì)算ASCII字符串長度;2、使用“utf8.RuneCountInString()”函數(shù)計(jì)算Unicode字符串長度。

go語言如何求字符串長度

本文操作環(huán)境:Windows7系統(tǒng)、Go1.11.2版,Dell G3電腦。

推薦教程:《go語言

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

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

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

程序輸出如下:

16 6

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

輸出中第一行的 16 表示 tip1 的字符個(gè)數(shù)為 16。

輸出中第二行的 6 表示 tip2 的字符格式,也就是“忍者”的字符個(gè)數(shù)是 6,然而根據(jù)習(xí)慣,“忍者”的字符個(gè)數(shù)應(yīng)該是 2。

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

如果希望按習(xí)慣上的字符個(gè)數(shù)來計(jì)算,就需要使用 Go 語言中 UTF-8 包提供的 RuneCountInString() 函數(shù),統(tǒng)計(jì) Uncode 字符數(shù)量。

下面的代碼展示如何計(jì)算UTF-8的字符個(gè)數(shù)。

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

程序輸出如下:

2 11

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

總結(jié)

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

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

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
高清国产精品久久| 最新国产精品拍自在线播放| 精品久久久久久中文字幕女| 亚洲国产精品综合一区在线| 久9热免费精品视频在线观看| 色噜噜亚洲精品中文字幕| 亚洲国产精品一区二区九九 | 亚洲精品无码日韩国产不卡av| 国内大量揄拍人妻精品視頻| 99久久国产亚洲综合精品| 精品国产无限资源免费观看| 亚洲区精品久久一区二区三区| 99热这里只有精品免费播放| 午夜天堂精品久久久久| 国产精品国产三级国产AV主播| 国产成人精品无码一区二区三区| 精品一区二区三区免费观看| 亚洲精品色婷婷在线影院| 精品香蕉伊思人在线观看| 国产精品麻豆欧美日韩WW| 亚洲av日韩av无码黑人| 国产日韩久久免费影院| 在线日韩日本国产亚洲| 国产日韩亚洲大尺度高清| 国产一区麻豆剧传媒果冻精品| 久久久久国产精品免费免费搜索| 2021久久精品免费观看| 国产成人精品1024在线| 尤物yw午夜国产精品视频| 国产在线不卡午夜精品2021| 黑人大战亚洲人精品一区| 久久www免费人成精品香蕉| 久久久99精品一区二区| 国内大量偷窥精品视频| 亚洲精品中文字幕无码蜜桃| 久久精品一区二区三区不卡| 久久国产精品一国产精品| 99久久99久久精品免费观看| 亚洲精品国产啊女成拍色拍| 精品久久久久久亚洲精品| 久久久久久久精品成人热色戒|