国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Golang > 正文

go語言按顯示長度截取字符串的方法

2020-04-01 19:20:07
字體:
供稿:網(wǎng)友
這篇文章主要介紹了go語言按顯示長度截取字符串的方法,涉及Go語言操作字符串的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
 

本文實例講述了go語言按顯示長度截取字符串的方法。分享給大家供大家參考。具體分析如下:

根據(jù)顯示長度截取字符串,之前php用的utf8編碼,10個英文和10個漢字的顯示長度差距太大,按字節(jié)截取的話又會出錯出現(xiàn)截取半個漢字的情況,所以寫了這兩個函數(shù).

這兩天在折騰golang,所以就用golang重寫了著連個函數(shù).代碼如下:

復制代碼代碼如下:
package main
import (
    "fmt"
)
func main() {
    fmt.Println(show_strlen("哈哈1"))
    fmt.Println(show_substr("哈哈1什1么的", 9))
}

 

根絕顯示長度截取字符串

復制代碼代碼如下:
func show_substr(s string, l int) string {
    if len(s) <= l {
        return s
    }
    ss, sl, rl, rs := "", 0, 0, []rune(s)
    for _, r := range rs {
        rint := int(r)
        if rint < 128 {
            rl = 1
        } else {
            rl = 2
        }
        if sl + rl > l {
            break
        }
        sl += rl
        ss += string(r)
    }
    return ss
}

 

根據(jù)字符串顯示獲取顯示長度

復制代碼代碼如下:
func show_strlen(s string) int {
    sl := 0
    rs := []rune(s)
    for _, r := range rs {
        rint := int(r)
        if rint < 128 {
            sl++
        } else {
            sl += 2
        }
    }
    return sl
}

 

希望本文所述對大家的Go語言程序設(shè)計有所幫助。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 桃园县| 定襄县| 五大连池市| 苍山县| 天津市| 榆树市| 平潭县| 探索| 汝南县| 尼勒克县| 平果县| 唐山市| 南部县| 任丘市| 上杭县| 西丰县| 海门市| 荆门市| 汝南县| 阿拉善左旗| 唐海县| 嘉峪关市| 金平| 玛多县| 辰溪县| 楚雄市| 海阳市| 行唐县| 临清市| 高台县| 昌邑市| 监利县| 金沙县| 财经| 游戏| 道真| 洛川县| 雅江县| 平舆县| 隆安县| 唐山市|