字串
字串
1.可用" " 或是 ` `
var appleColor string = "red"
var appleColor1 string = `red`
``可用來放多行的字串,並且輸出會保留空格
用' '會錯誤
https://play.golang.org/p/RnWuWLvDS1
2. ' ' 單引號只能用在byte array
s := "good"
c := []byte(s) // 轉為goog
c[3] = 'g'
用" "或` `會錯誤
https://play.golang.org/p/MMgk12HXFi
核心Strings package
https://golang.org/pkg/strings/
1.比較字串
可用== 或是 strings.Compare(a, b)
strings.Compare比 == 效率更好
結果是: 0 假如 a == b,
結果為 -1 假如 a < b
結果為 1 假如 a > b.
https://play.golang.org/p/ia615JYprw
2.檢查是否包含
strings.Contains()
回傳true或false
https://play.golang.org/p/lj78RhdBYq
也可用strings.ContainsAny("failure", "ura & i")
如果用&在contains() 還是會傳回false
https://play.golang.org/p/oeGdbA9juD
3.轉為Unicode後比較是否包含
strings.ContainsRune()
https://play.golang.org/p/0puOGCxAdR
4.計算字串中特定字之重複次數
strings.Count()
https://play.golang.org/p/aoJnR5C5ux
5.忽略大小寫比較
strings.EqualFold()
https://play.golang.org/p/b1VgY3EazY
6.字串轉Array
strings.Fields(" foo bar baz solid ")
以空格分隔轉為Array
https://play.golang.org/p/bGsqjtSwMN
7.替換特殊字元後比較
FieldsFunc第二個參數必須要是function 並return boolean
f := func(c rune) bool {
return !unicode.IsLetter(c) && !unicode.IsNumber(c)
}
fmt.Printf("Fields are: %q", strings.FieldsFunc(" foo1; b@ar2,baz3...", f))
第二個參數例如strings.FieldsFunc("test", func (c rune) bool { return true })
8.測試開頭是否包含字串
strings.HasPrefix("Gopher", "Go")
https://play.golang.org/p/oyvjtOykj_
9.測試結尾是否包含
fmt.Println(strings.HasSuffix("banana", "na"))
https://play.golang.org/p/a_lfSRdz81
10.查看字元在字串中的位置
fmt.Println(strings.Index("paper", "e"))
Last updated
Was this helpful?