内容简介: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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Kotlin实战
【美】Dmitry Jemerov(德米特里·詹莫瑞福)、【美】 Svetlana Isakova(斯维特拉娜·伊凡诺沃) / 覃宇、罗丽、李思阳、蒋扬海 / 电子工业出版社 / 2017-8 / 89.00
《Kotlin 实战》将从语言的基本特性开始,逐渐覆盖其更多的高级特性,尤其注重讲解如何将 Koltin 集成到已有 Java 工程实践及其背后的原理。本书分为两个部分。第一部分讲解如何开始使用 Kotlin 现有的库和API,包括基本语法、扩展函数和扩展属性、数据类和伴生对象、lambda 表达式,以及数据类型系统(着重讲解了可空性和集合的概念)。第二部分教你如何使用 Kotlin 构建自己的 ......一起来看看 《Kotlin实战》 这本书的介绍吧!