go语⾔按显⽰长度截取字符串的⽅法
本⽂实例讲述了go语⾔按显⽰长度截取字符串的⽅法。分享给⼤家供⼤家参考。具体分析如下:
根据显⽰长度截取字符串,之前php⽤的utf8编码,10个英⽂和10个汉字的显⽰长度差距太⼤,按字节截取的话⼜会出错出现截取半个汉字的情况,所以写了这两个函数.
这两天在折腾golang,所以就⽤golang重写了着连个函数.代码如下:
复制代码代码如下:
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 {
go语言字符串转数组
rl = 2
}
if sl + rl > l {
break
}
sl += rl
ss += string(r)
}
return ss
}
根据字符串显⽰获取显⽰长度
复制代码代码如下:
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语⾔程序设计有所帮助。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。