go中的string和strconv包
go为string提供了strings包来进行字符串的主要操作。
HasPrefix判断字符串是否已prefix开头:
strings.HasPrefix(s, prefix string) bool
HasSuffix判断字符串是否已suffix结尾:
strings.HasSuffix(s, suffix string) bool
简单的例子:
package main
import (
"fmt"
"strings"
)
func main() {
str := "This is a Golang"
fmt.Println("Prefix :", strings.HasPrefix(str, "TH"))
fmt.Println("Suffix :", strings.HasSuffix(str, "lang"))
}
输出:
Prefix : false
Suffix : true
Contains判断字符串是否包含substr:
strings.Contains(s, substr string) bool
Index,LastIndex判断字符串或字符在父字符串中出现的位置:
strings.Index(s, str string) int
strings.LastIndex(s, str string) int
Index返回字符串str在字符串s中的位置,-1表示不包含。LastIndex返回字符串str在字符串s中最后出现的位置。
例子:
package main
import (
"fmt"
"strings"
)
func main() {
str := "This is a Golang"
fmt.Println("hi is:", strings.Index(str, "hi"))
fmt.Println("G is:", strings.Index(str, "G"))
fmt.Println("ol is", strings.LastIndex(str, "ol"))
fmt.Println("s is", strings.LastIndex(str, "s"))
}
输出:
hi is: 1
G is: 10
ol is 11
s is 6
Replace替换字符串
strings.Replace(str, old, new, n) string
Count统计字符串出现的次数
strings.Count(s, str string) int
例子:
package main
import (
"fmt"
"strings"
)
func main() {
str := "This is a Golang"
fmt.Println("a count:", strings.Count(str, "a"))
}
输出:
a count: 2
Repeat重复字符串,用于重复count次字符串s,并返回一个新的字符串
strings.Repeat(s, count int) string
例子:
package main
import (
"fmt"
"strings"
)
func main() {
str := "This is a Golang!"
newS := strings.Repeat(str, 3)
fmt.Println(newS)
}
输出:
This is a Golang!This is a Golang!This is a Golang!
修改字符串大小写
strings.ToLower(s) string //小写
strings.ToUpper(s) string //大写
例子:
package main
import (
"fmt"
"strings"
)
func main() {
str := "This is a Golang!"
lower := strings.ToLower(str)
upper := strings.ToUpper(str)
fmt.Println(lower)
fmt.Println(upper)
}
输出:
this is a golang!
THIS IS A GOLANG!
修建字符串
strings.TrimSpace(s) 提供了将字符串开头和结尾的空白字符去掉,如果想去掉其他字符,可以使用strings.Trim(s, cut string) 来将开头和结尾的cut字符串,如果只是想去掉开头或者结尾,可以使用TrimLeft,TrimRight
分割字符串
strings.Field(s)将会利用1个或者多个空白字符串来作为动态长度的分隔符将字符串分割成若干个小块,并返回一个slice,如果字符串只包含空白字符,则返回一个长度为0的slice。
strings.Split(s, sep) 用于自定义分割符号来指定字符串进行分割,返回slice。
拼接slice到字符串
strings.Join将类型为string的slice使用分隔符来拼接组成一个字符串:
strings.Join(sl []string, sep string)
例子:
package main
import (
"fmt"
"strings"
)
func main() {
str := "This is a Golang!"
sl := strings.Fields(str)
fmt.Println(sl)
for _, v := range sl {
fmt.Println(v)
}
str = "1,2,3,4,5"
sl = strings.Split(str, ",")
fmt.Println(sl)
str = strings.Join(sl, ":")
fmt.Println(str)
}
输出:
[This is a Golang!]
This
is
a
Golang!
[1 2 3 4 5]
1:2:3:4:5
从字符串冲读取内容
strings,NewReader(string)用于生成一个Reader并且读取字符串的内容,然后返回指向该Reader的指针。
字符串与其他类型的转换
与字符串相关的类型转换都是同strconv包实现的。
如strconv.IntSize 或者int类型所占位数。
数字转字符串,可以使用strconv.Itoa(i int)string。
字符串转数字,使用strconv.Atoi(s string) (i int, err error), strconv.ParseFloat(s string, bisSize int) (f float64, err error)
其他更多包的内容,可以参考
上一篇: c如何和mysql连接
下一篇: eclipse怎么连接mysql
推荐阅读
-
Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini及服务无法启动的快速解决办法(问题小结)
-
深入理解python中的闭包和装饰器
-
C#中String和StringBuilder的简介与区别
-
C#中StringBuilder用法以及和String的区别分析
-
C#中List〈string〉和string[]数组之间的相互转换
-
深入理解python中的闭包和装饰器
-
Python中的模块和包概念介绍
-
详解Python中的装饰器、闭包和functools的教程
-
java中String和StringBuffer的区别
-
Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini及服务无法启动的快速解决办法(问题小结)