亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

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

    go語言如何求字符串長度

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

    go語言如何求字符串長度

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

    推薦教程:《go語言

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

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

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

    程序輸出如下:

    16 6

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

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

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

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

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

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

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

    程序輸出如下:

    2 11

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

    總結

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

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

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號