1.字符串操作:
使用之前请先引入:
import (
"fmt"
"strings"
)
|
1).
ToUpper:将字符串s全部转为大写。
定义:
func ToUpper(s string) string {} |
用法:
fmt.Println(strings.ToUpper("Gopher")) //GOPHER |
2).
ToLower:将字符串s全部转为小写。
定义:
func ToLower(s string) string {} |
用法:
fmt.Println(strings.ToLower("Gopher")) //gopher |
3).
Contains:检查字符串s中是否包含字符串substr,返回bool值。
定义:
func Contains(s, substr string) bool {} |
用法:
fmt.Println(
strings.Contains("
seafood
", "
foo
"))
//true
fmt.Println(
strings.Contains("
seafood
", "
bar
"))
//false
fmt.Println(
strings.Contains("
seafood
", ""))
//true
fmt.Println(
strings.Contains("", ""))
//true
|
4).
Replace:在s字符串中,把old字符串替换为new字符串,n表示替换的次数,小于0表示全部替换。
定义:
func Replace(s, old, new string, n int) string {} |
用法:
fmt.Println(
strings.Replace("
oink oink oink
", "
k
", "
ky
",
2
))
//oinky oinky oink
fmt.Println(
strings.Replace("
oink oink oink
", "
oink
", "
moo
",
-1
))
//moo moo moo
|
5.1).
Trim:在s字符串的头部和尾部去除cutset指定的字符串。注意:该方法很强大,cutset每个字符将在头和尾逐一去掉。
定义:
func Trim(s string, cutset string) string {} |
用法:
fmt.Printf("[%q]",
strings.Trim("
!!! Achtung !!!
", "
!
"))
//["Achtung"]
//头部和尾部的"!"," ","A"都将去掉
fmt.Printf("[%q]",
strings.Trim("
!!! Achtung !!!
", "
! A
"))
//["chtung"]
|
5.2).
Fields:去除s字符串的空格符,并且按照空格分割返回slice。
定义:
func Fields(s string) []string {} |
用法:
fmt.Printf("Fields are: %q", strings.Fields(" foo bar baz ")) //Fields are: ["foo" "bar" "baz"] |
6.1).
Index:在字符串s中查找substr所在的位置,返回位置值,找不到返回-1。
定义:
func Index(s, substr string) int {} |
用法:
fmt.Println(
strings.Index("
chicken
", "
ken
"))
//4
fmt.Println(
strings.Index("
chicken
", "
dmr
"))
//-1
|
6.2).
LastIndex:在字符串s中查找substr最后一次出现的位置,返回位置值,找不到返回-1。
定义:
func LastIndex(s, substr string) int {} |
用法:
fmt.Println(
strings.LastIndex("
go gopher
", "
go
"))
// 3
fmt.Println(
strings.LastIndex("
go gopher
", "
hi
"))
// -1
|
6.3).
HasPrefix:字符串s的前缀是否以字符串prefix开头。
定义:
func HasPrefix(s, prefix string) bool {} |
用法:
fmt.Println(strings.HasPrefix("NLT_abc", "NLT")) //true |
6.4).
HasSuffix:字符串s的前缀是否以字符串suffix结尾。
定义:
func HasSuffix(s, suffix string) bool {} |
用法:
fmt.Println(strings.HasSuffix("NLT_abc", "abc")) //true |
7).
EqualFold:比较字符串s和t是否相等,并且忽略大小写。
定义:
func EqualFold(s, t string) bool {} |
用法:
fmt.Println(strings.EqualFold("Go", "go")) //true |
8).
Join:字符串链接,把slice a通过sep链接起来。
定义:
func Join(a []string, sep string) string {} |
用法:
s := []string{"foo", "bar", "baz"}
fmt.Println(
strings.Join(
s
, "
,
"))
//foo, bar, baz
|
9.1).
Split:把s字符串按照sep分割,返回slice。
定义:
func Split(s, sep string) []string {} |
用法:
fmt.Printf("%q\n",
strings.Split("
a,b,c
", "
,
"))
//["a" "b" "c"]
fmt.Printf("%q\n",
strings.Split("
a man a plan a canal panama
", "
a
")
)
//["" "man " "plan " "canal panama"]
fmt.Printf("%q\n",
strings.Split("
xyz
", ""))
//[" " "x" "y" "z" " "]
fmt.Printf("%q\n",
strings.Split("", "
Bernardo O'Higgins
"))
//[""]
|
9.2).
SplitAfter:把s字符串按照sep分割,结果中包含 sep 本身,返回slice。
定义:
func SplitAfter(s, sep string) []string {} |
用法:
fmt.Printf("%q\n", strings.SplitAfter("/home/test/src", "/")) //["/" "home/" "test/" "src"] |
10).
Count:统计字符串s中包含子字符串substr的个数。
定义:
func Count(s, substr string) int {} |
用法:
fmt.Println(
strings.Count("
cheese
", "
e
"))
// 3
fmt.Println(
strings.Count("
five
", ""))
//5
|
11). Repeat:重复s字符串count次,最后返回重复的字符串。
定义:
func Repeat(s string, count int) string {} |
用法:
fmt.Println("ba" + strings.Repeat("na", 2)) //banana |
2.字符串转换:
使用之前请先引入:
import (
"fmt"
"strconv"
)
|
1).
Append系列:将整数等转换为字符串后,添加到现有的字节数组中。
str := make([]byte, 0, 100)
str =
strconv.AppendInt(
str
,
4567
, 10)
//以10进制方式追加
str =
strconv.AppendBool(
str
,
false
)
str =
strconv.AppendQuote(
str
, "
abcdefg
")
//追加多个字符
str =
strconv.AppendQuoteRune(
str
, '
单
')
//只能追加一个字符
fmt.Println(
string(
str
)
)
//4567false"abcdefg"'单'
|
2).
Format系列:把其他类型的转换为字符串。
a :=
strconv.FormatBool(
false
)
b :=
strconv.FormatInt(
1234
, 10)
//10表示按照10进制转换
c :=
strconv.FormatUint(
12345
, 10) //10表示按照10进制转换
d :=
strconv.Itoa(
1023
) //常用
fmt.Println(a, b, c, d)
//false 1234 12345 1023
|
3).
Parse系列:把字符串转换为其他类型。
a, err :=
strconv.ParseBool("
false
")
b, err :=
strconv.ParseFloat("
123.23
", 64) //64表示64位存储
c, err :=
strconv.ParseInt("
1234
", 10, 64) //10表示按照10进制转换,64表示64位存储
d, err :=
strconv.ParseUint("
12345
", 10, 64) //10表示按照10进制转换,64表示64位存储
e, err :=
strconv.Atoi("
1023
") //常用
fmt.Println(a, b, c, d, e)
//false 123.23 1234 12345 1023
|