培训首页  >  web前端新闻  >  兄弟连Go语言培训分享字符串操作

兄弟连Go语言培训分享字符串操作

[2018-08-29 14:57:29] 浏览量:50 来源:

北京兄弟连IT

  2018年第一季度,区块链相关人才的需求已达到2017年同期的9.7倍,发布区块链相关岗位的公司数量同比增长4.6倍。

 

  兄弟连教育Go全栈与区块链培训课程是由清华、微软和谷歌历时半年时间研发出的无二的体系化课程。

 

相关包有strings, strconv

 

判断是否以某字符串打头/结尾

strings.HasPrefix(s string, prefix string) bool => 对应pythonstr.startswith

strings.HasSuffix(s string, suffix string) bool => 对应pythonstr.endswith

 

字符串分割

strings.Split(s string, sep string) []string => 对应pythonstr.split

 

返回子串索引

strings.Index(s string, sub string) int => 对应pythonstr.index

strings.LastIndex 最后一个匹配索引

 

字符串连接

strings.Join(a []string, sep string) string =>对应pythonstr.join

 

字符串替换

strings.Replace(s, old, new string, n int) string =>对应pythonstr.replace

 

转为大写/小写

strings.ToUpper(s string) string

strings.ToLower

对应pythonstr.upper,str.lower

 

子串个数

 

strings.Count(s string, sep string) int

 

对应python的 str.count

 

Partition

pythonstr.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

}

文中图片素材来源网络,如有侵权请联系删除
  • 软件开发
  • 软件测试
  • 数据库
  • Web前端
  • 大数据
  • 人工智能
  • 零基础
  • 有HTML基础
  • 有PHP基础
  • 有C语言基础
  • 有JAVA基础
  • 其他计算机语言基础
  • 周末班
  • 全日制白班
  • 随到随学

网上报名

热门信息