golang 学习笔记之字符串

栏目: Go · 发布时间: 6年前

内容简介:golang 中字符串相关操作用得最多的基础库是 strings 和 strconv1、strings.HasPrefix 判断字符串开头常见的场景是用来判断服务地址是HTTP还是HTTPS 协议,例如:

golang 中字符串相关操作用得最多的基础库是 strings 和 strconv

1、strings.HasPrefix 判断字符串开头

常见的场景是用来判断服务地址是HTTP还是HTTPS 协议,例如:

func main() {
   str := "http://www.baidu.com"
   if ok := strings.HasPrefix(str,"http://");ok {
      fmt.Println("it's http protocol")
   }else{
      fmt.Println("unknown")
   }
}

2、strings.HasSuffix 判断字符串后缀

场景,用于判断文件类型,例如图片是否是png格式

func main() {
   pic := "baidu.png"
   if ok := strings.HasSuffix(pic,"png");ok {
      fmt.Println("it's a png image.")
   }
}

3、strings.Contains 判断字符串中是否包含有子字符串

func main() {
   str := "http://www.baidu.com"
   if ok := strings.Contains(str,"baidu");ok{
      fmt.Println("ok")
   }
}

4、strings.Count 计算子字符串出现次数

func main() {
   str := "http://www.baidu.com/"
   fmt.Println(strings.Count(str,"/"))
}

5、strings.Index 返回子字符串第一次出现位置,不存在则返回-1

对应的是strings.LastIndex ,返回最后一次出现位置,不存在返回-1

func main() {
   str := "http://www.baidu.com/"
   fmt.Println(strings.Index(str,"google"))
   fmt.Println(strings.Index(str,"/"))
   fmt.Println(strings.LastIndex(str,"google"))
   fmt.Println(strings.LastIndex(str,"/"))
}

输出

-1
5
-1
20

6、strings.Title 返回首字母大写的标题格式

fmt.Println(strings.Title("welcome to baidu"))

输出

Welcome To Baidu

7、大小写转换

strings.ToUpper   转换成大写

strings.ToLower   转换成小写

fmt.Println(strings.ToLower("GOPHER"))
fmt.Println(strings.ToUpper("gopher"))

输出

gopher
GOPHER

8、strings.Repeat 返回count个s串联的字符串

fmt.Println("http://" + strings.Repeat("w",3) + ".baidu.com")

输出

http://www.baidu.com

9、strings.Replace  字符串替换

当n<0 时,将替换所有字符串

fmt.Println(strings.Replace(str,"/","#",1))
fmt.Println(strings.Replace(str,"/","#",-1))

输出

http:#/www.baidu.com/
http:##www.baidu.com#

10、strings.Trim 去掉前后空白符

类似的还有strings.TrimLeft 、strings.TrimRight

fmt.Println(strings.Trim("  http://www.baidu.com         ","    "))

11、strings.Split 字符串分隔

str := "http://www.baidu.com/"
fmt.Println(strings.Split(str,"/"))

输出

[http:  www.baidu.com ]

12、strings.Join 字符串组合

s := []string{"www","baidu","com"}
fmt.Println(strings.Join(s,"."))

输出

www.baidu.com

13、字符串与整型数字互转

strconv.Itoa   整型转字符串

strconv.Atoi   字符串转整型,注意这个函数会返回int 和 err

func Atoi(s string) (i int, err error)
n := 123
fmt.Printf("n type:%T\n strconv.Itoa(n) Type: %T\n",n,strconv.Itoa(n))

m := "456"
m2,_ := strconv.Atoi(m)
fmt.Printf("n type:%T\n strconv.Atoi(m) Type: %T\n",n,m2)

输出

n type:int
 strconv.Itoa(n) Type: string
 
n type:int
 strconv.Atoi(m) Type: int

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

复杂性思考

复杂性思考

Allen B. Downey / 张龙 / 机械工业出版社 / 2013-5 / 49.00元

本书的灵感来源于无聊与迷恋的感觉:对常规的数据结构与算法介绍的无聊,对复杂系统的迷恋。数据结构的问题在于教师在教授这门课程的时候通常不会调动起学生的积极性;复杂性科学的问题在于学校通常不会教授这门课程。 2005年,我在欧林学院讲授了一门新课程,学生要阅读关于复杂性的主题,使用Python进行实验,并学习算法与数据结构。当我在2008年再次讲授这门课程时,我写了本书的初稿。 在2011......一起来看看 《复杂性思考》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

SHA 加密
SHA 加密

SHA 加密工具