国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 霸州市| 来宾市| 罗定市| 本溪市| 改则县| 临高县| 久治县| 文水县| 友谊县| 长武县| 浙江省| 黑水县| 曲靖市| 志丹县| 香格里拉县| 万山特区| 运城市| 岱山县| 连城县| 商都县| 贡觉县| 绥芬河市| 台州市| 昭通市| 安新县| 出国| 大洼县| 广河县| 阜新市| 兰坪| 汽车| 安远县| 高雄市| 龙里县| 星子县| 施甸县| 清水县| 康保县| 南和县| 象山县| 常熟市|