最新国产好看的视频,伊人天堂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)文章

最新評論

芜湖市| 江源县| 宝丰县| 云霄县| 景洪市| 都兰县| 尚义县| 饶河县| 山东省| 邵阳县| 敦煌市| 油尖旺区| 永嘉县| 梁山县| 阳新县| 南川市| 若尔盖县| 陇川县| 独山县| 黎平县| 富民县| 营口市| 饶阳县| 葵青区| 麻江县| 沅陵县| 宜丰县| 南京市| 涟水县| 唐海县| 武山县| 类乌齐县| 绥江县| 宜丰县| 长寿区| 外汇| 中宁县| 老河口市| 镇赉县| 永泰县| 黄龙县|