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

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

查看所有标签

猜你喜欢:

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

Head First JavaScript Programming

Head First JavaScript Programming

Eric T. Freeman、Elisabeth Robson / O'Reilly Media / 2014-4-10 / USD 49.99

This brain-friendly guide teaches you everything from JavaScript language fundamentals to advanced topics, including objects, functions, and the browser’s document object model. You won’t just be read......一起来看看 《Head First JavaScript Programming》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具