目錄
在編寫程式碼的時候最常用到的就是字串了,本篇文章將結合範例對常用的字串操作函數進行介紹。
func Contains(s, substr string) bool
判斷 substr 是否是 s 的子串,例如:
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.Contains("Linux", "in"))
fmt.Println(strings.Contains("Linux", "Unix"))
fmt.Println(strings.Contains("Linux", ""))
fmt.Println(strings.Contains("", ""))
}
輸出:
true
false
true
true
func HasPrefix(s, prefix string) bool
字串 s 是否以 prefix 為開頭,例如:
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.HasPrefix("Linux", "Lin"))
fmt.Println(strings.HasPrefix("Linux", "in"))
fmt.Println(strings.HasPrefix("Linux", ""))
}
輸出:
true
false
true
func HasSuffix(s, suffix string) bool
判斷字串 s 是否以 suffix 結尾,例如:
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.HasSuffix("Linux", "nux"))
fmt.Println(strings.HasSuffix("Linux", "ix"))
fmt.Println(strings.HasSuffix("Linux", ""))
}
輸出為:
true
false
true
func Replace(s, old, new string, n int) string
返回 s 中前 n 個不重複的 old 子串替換為 new 子串的新字串,如果 n < 0 ,則替換所有 old 子串,例如:
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.Replace("Linux is very very very good!", "very", "much", 2))
fmt.Println(strings.Replace("Linux is very very very good!", "very", "much", -1))
}
輸出為:
Linux is much much very good!
Linux is much much much good!
func Split(s, sep string) []string
返回將字串 s 按 sep子串分割的字串切片,sep 為空字串時,將 s 分割為每一個 unicode 碼值的字串切片。例如:
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.Split("Linux, Unix, Windows, Android", ", "))
fmt.Println(strings.Split(" Linux is very very very good! ", " "))
}
輸出為:返回的是字串陣列。
[Linux Unix Windows Android]
[ Linux is very very very good! ]
func ToLower(s string) string
返回字串 s 中字母轉小寫的拷貝,例如:
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.ToLower("Linux, Unix, Windows, Android"))
fmt.Println(strings.ToLower(" Linux is very very very good! "))
}
輸出為:
linux, unix, windows, android
linux is very very very good!
func ToUpper(s string) string
返回字串 s 中字母轉大寫的拷貝,例如:
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.ToUpper("Linux, Unix, Windows, Android"))
fmt.Println(strings.ToUpper(" Linux is very very very good! "))
}
輸出為:
LINUX, UNIX, WINDOWS, ANDROID
LINUX IS VERY VERY VERY GOOD!
func Repeat(s string, count int) string
返回 count 個字串 s 相連線的字串,如果 count 為負數 或(len * s * count)的結果溢位,則報 panic 異常。例如:
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.Repeat("Linux", 6))
fmt.Println(strings.Repeat("Linux", 0))
fmt.Println(strings.Repeat("Linux", -1))
}
輸出為:
LinuxLinuxLinuxLinuxLinuxLinux
panic: strings: negative Repeat count
goroutine 1 [running]:
strings.Repeat(0x4bcf3d, 0x5, 0xffffffffffffffff, 0x1, 0x1)
/usr/local/go/src/strings/strings.go:529 +0x5e5
main.main()
/root/goProject/src/test/main.go:11 +0x167
參考連結: