strings和strconv包, 字符串作為一種基本的數據解構,每種語言都有一些對於字符串的預定義處理函數,go語言中使用strings包來完成對字符串的操作
- 前綴與后綴
- HasPrefix判斷字符串s是否以prefix開頭
strings.HasPrefix(s, prefix string) bool
- HasSuffix 判斷字符串s是否以suffix結束
strings.HasSuffix(s, suffix string) bool
package main import ( "fmt" "strings" ) func main() { var str string = "this is an example" fmt.Println(strings.HasPrefix(str, "this")) // true fmt.Println(strings.HasSuffix(str, "example")) // true fmt.Println(strings.HasSuffix(str, "exam")) // false }
- Contains: 判斷字符串s是否包含str
strings.Contains(s, str string) bool
- 判斷字符串在當前字符串出現的位置
- Index: 返回字符串str在字串s中的索引, 返回-1,表示字符串s不含含字符串str
strings.Index(s, str string) int
- LastIndex: 返回字符串str在字符串s中出現位置的索引, 返回-1表示s中不包含str
- IndexRune: 返回單個字符在字符串s中的位置,建議盡量使用IndeRune對字符進行定位
strings.IndexRune(s string, r rune) int
package main import ( "fmt" "strings" ) func main() { var str string = "hello, i am kiven" fmt.Println(strings.Index(str, "am")) // 返回首次出現am的位置 fmt.Println(strings.LastIndex(str, "i")) // 自右向左查詢首次出現i的位置 fmt.Println(strings.IndexRune(str, 'i')) // 查詢單個字符i出現的位置 }
- 字符串的替換
Replace 用於字符串str中字符串old替換為new的,並返回新的字符串, 如果n=-1則替換所有字符串old為字符串new
strings.Replace(str, old, new, n) string
- 統計字符串出現的次數
Count 用於計算字符串str在字符串s出現的的次數
string.Count(s, str string) int
package main import ( "fmt" "strings" ) func main() { var str string = "hello, i am kiven" var mangG = "gggggggggg" fmt.Println(strings.Replace(str, "kiven", "anan", 1)) fmt.Println(strings.Count(mangG, "gg")) }
- 重復字符串
- Repeat用於重讀count字符串s並返回新的字符串
strings.Repeat(s, count int ) string
- 修改字符串大小寫
- ToLower: 將字符串中的字符全部轉換為相應的小寫字符
strings.LoLower(s) string
- ToUpper: 將字符串中字符全部轉換為相應的大寫字符
strings.ToUpper(s) string
-
package main import ( "fmt" "strings" ) func main() { var orig string = "hello, i am kiven" var lower string var upper string lower = strings.ToLower(orig) upper = strings.ToUpper(orig) fmt.Println(lower) fmt.Println(upper) }
- 修剪字符串
- strings.TrimSpace(s): 去除字符串s兩端的空白字符
- strings.Trim(s, "cut"): 去除開頭和結尾的cut字符串
- 分割字符串
- strings.Fields(s): 分割字符串, 返回你對應的slice
- strings.Split(s, sep): 用指定的字符來對字符串進行分割,返回一個slice
- strings.Join(s1 []string, sep string)string:用於將 元素類型為string的slice使用分隔符拼接為一個字符串
- 字符串與其他類型的轉換
與字符串相關的類型轉換都是通過strconv包來實現的 任何類型T轉換為字符串都是成功的
- 獲取程序運行的操作系統所占的位數 strconv.IntSize
- 數字類型轉換為字符串類型
- strconv.Itoa(i int) string 返回i對應的字符串的十進制數
- strconv.FormatFloat(f float64) string: 將64位浮點型轉換為字符串
- 字符串轉換為數字類型
- strconv.Atoi(s string)(i int, err error): 將字符串轉換為int類型
- strconv.ParseFloat(s string)(f float64, err error): 將字符串類型轉化為64 浮點型