最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go語言按字節(jié)截取字符串的方法

 更新時間:2015年02月23日 15:42:19   作者:不吃皮蛋  
這篇文章主要介紹了Go語言按字節(jié)截取字符串的方法,涉及Go語言操作字符串的技巧,非常具有實用價值,需要的朋友可以參考下

本文實例講述了Go語言按字節(jié)截取字符串的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

復(fù)制代碼 代碼如下:
// 按字節(jié)截取字符串 utf-8不亂碼
func SubstrByByte(str string, length int) string {
    bs := []byte(str)[:length]
    bl := 0
    for i:=len(bs)-1; i>=0; i-- {
        switch {
        case bs[i] >= 0 && bs[i] <= 127:
            return string(bs[:i+1])
        case bs[i] >= 128 && bs[i] <= 191:
            bl++;
        case bs[i] >= 192 && bs[i] <= 253:
            cl := 0
            switch {
            case bs[i] & 252 == 252:
                cl = 6
            case bs[i] & 248 == 248:
                cl = 5
            case bs[i] & 240 == 240:
                cl = 4
            case bs[i] & 224 == 224:
                cl = 3
            default:
                cl = 2
            }
            if bl+1 == cl {
                return string(bs[:i+cl])
            }
            return string(bs[:i])
        }
    }
    return ""
}

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

相關(guān)文章

最新評論

呈贡县| 镇康县| 韶关市| 宜章县| 红原县| 泗洪县| 积石山| 平南县| 融水| 白朗县| 剑河县| 盐边县| 鄱阳县| 乌兰县| 红原县| 报价| 泸溪县| 杭州市| 娄底市| 巴里| 从化市| 开江县| 青浦区| 弋阳县| 铁力市| 山东省| 南投县| 高平市| 黑龙江省| 荥经县| 林芝县| 宜兴市| 涡阳县| 彭泽县| 南丰县| 南木林县| 定州市| 宣化县| 冀州市| 临潭县| 北京市|