站長資訊網(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)
精品无人区麻豆乱码1区2区新区 | 国产成人午夜精品免费视频| 九色国产在视频线精品视频 | 国产亚洲精品国产| 一区二区三区精品视频| 亚洲日韩精品一区二区三区| 日韩精品国产丝袜| 亚洲国产精品一区二区成人片国内 | 日韩精品亚洲专区在线观看| 午夜精品久久久久蜜桃| 国产美女精品人人做人人爽| 国产成人精品一区二三区熟女| 久久夜色精品国产噜噜亚洲a| 久久精品一区二区三区AV| 久久精品毛片免费观看| 日韩精品人妻系列无码专区| 亚洲AV日韩精品久久久久| 久久久久琪琪去精品色无码 | 精品高潮呻吟99av无码视频| 78成人精品电影在线播放| 国产精品99久久久久久猫咪| 国产精品日韩专区| 最新日韩精品中文字幕| 日韩精品无码免费专区午夜不卡| 国产日韩精品一区二区三区| 亚洲区精品久久一区二区三区| 日韩精品一区二区三区色欲AV| 久久精品国产99精品最新| 久久精品国产亚洲香蕉| 久久精品免费电影| 久久久久青草大香线综合精品| 久久99精品福利久久久| 午夜精品视频在线| 日韩精品久久久久久久电影蜜臀 | 精品久久中文字幕| 亚洲视频精品在线观看| 99re热久久这里只有精品6| 99热这就是里面只有精品| 久久精品国产亚洲av麻豆色欲| 亚洲麻豆精品果冻传媒| 91精品免费国产高清在线|