兄弟连Go语言培训分享字符串操作
2018年第一季度,区块链相关人才的需求已达到2017年同期的9.7倍,发布区块链相关岗位的公司数量同比增长4.6倍。
兄弟连教育Go全栈与区块链培训课程是由清华、微软和谷歌历时半年时间研发出的无二的体系化课程。
相关包有strings, strconv
判断是否以某字符串打头/结尾
strings.HasPrefix(s string, prefix string) bool => 对应python的str.startswith
strings.HasSuffix(s string, suffix string) bool => 对应python的str.endswith
字符串分割
strings.Split(s string, sep string) []string => 对应python的str.split
返回子串索引
strings.Index(s string, sub string) int => 对应python的str.index
strings.LastIndex 最后一个匹配索引
字符串连接
strings.Join(a []string, sep string) string =>对应python的str.join
字符串替换
strings.Replace(s, old, new string, n int) string =>对应python的str.replace
转为大写/小写
strings.ToUpper(s string) string
strings.ToLower
对应python的str.upper,str.lower
子串个数
strings.Count(s string, sep string) int
对应python的 str.count
Partition
python的str.partition在解析包时候很好用,这里封装一个
func Partition(s string, sep string) (head string, retSep string, tail string) {
// Partition(s, sep) -> (head, sep, tail)
index := strings.Index(s, sep)
if index == -1 {
head = s
retSep = ""
tail = ""
} else {
head = s[:index]
retSep = sep
tail = s[len(head)+len(sep):]
}
return
}
Partition使用
// 包格式 头(xy) + 数据体 + 尾 (..xy...)
// ...
_, header, msg := Partition(data, "xy")
if header == "" {
// 没有头(xy)丢包. (也有可能粘包分包导致 "...x", 最后一个(注意是一个)字符变成了x, 这时要把前面的包丢弃,只保留一个x)
} else {
// do
}
文中图片素材来源网络,如有侵权请联系删除网上报名
新闻资讯
更多>>-
兄弟连“因材施教搭建桥梁”计划正式启动
2018-06-14
-
兄弟连PHP培训:高薪就业才是硬道理
2018-06-14
-
兄弟连北京安卓培训:万元高薪班级爆满
2018-06-14
-
25W高薪挑战安卓 零基础培训首选兄弟连
2018-06-14
-
兄弟连PHP教程发布 海量资源应有尽有
2018-06-14