在任何語言中字符串操作都是非常頻繁的,那么go中主要用strings和strconv, 他們的主要api有哪些了
strings
strings.HasPrefix(s string, prefix string) bool:判斷字符串s是否以prefix開頭 。 strings.HasSuffix(s string, suffix string) bool:判斷字符串s是否以suffix結尾。 strings.Index(s string, str string) int:判斷str在s中首次出現的位置,如果沒有出現,則返回-1 strings.LastIndex(s string, str string) int:判斷str在s中最后出現的位置,如果沒有出現,則返回-1 strings.Replace(str string, old string, new string, n int):字符串替換 如果n為負數,則替換所有的滿足條件的子串。 strings.Count(str string, substr string)int:字符串計數 strings.Repeat(str string, count int)string:重復count次str strings.ToLower(str string)string:轉為小寫 strings.ToUpper(str string)string:轉為大寫 strings.TrimSpace(str string):去掉字符串首尾空白字符 strings.Trim(str string, cut string):去掉字符串首尾cut字符 strings.TrimLeft(str string, cut string):去掉字符串首cut字符 strings.TrimRight(str string, cut string):去掉字符串首cut字符 strings.Field(str string):返回str空格分隔的所有子串的slice strings.FieldsFunc(s string, f func(rune) bool) []string 根據傳入的函數分割字符串,如果當前參數c不是數字或者字母,返回true作為分割符號 strings.Split(str string, split string):返回str split分隔的所有子串的 slice strings.Join(s1 []string, sep string):用sep把s1中的所有元素鏈接起來 strings.Itoa(i int):把一個整數i轉成字符串 strings.Atoi(str string)(int, error):把一個字符串轉成整數 strings.Contains(s, substr string) bool 字符串s中是否包含substr,返回true或者false。 strings.ContainsAny(s, chars string) bool 用於判斷子串中是否具有一個字符在源串s中。子串為空,返回false。 strings.ContainsRune(s string, r rune) bool 用於判斷Ascall碼代表的字符是否在源串s中。 strings.EqualFold(s, t string) bool 在不區分大小寫的情況下,判斷兩個字符串是否相同 strings.Map(mapping func(rune) rune, s string) string 對字符串s中每一個字符執行map函數中的操作。
strconv
strconv包提供了字符串與簡單數據類型之間的類型轉換功能。可以將簡單類型轉換為字符串,也可以將字符串轉換為其它簡單類型。
這個包里提供了很多函數,大概分為幾類:
字符串轉int:Atoi()
int轉字符串: Itoa()
ParseTP類函數將string轉換為TP類型:ParseBool()、ParseFloat()、ParseInt()、ParseUint()。因為string轉其它類型可能會失敗,所以這些函數都有第二個返回值表示是否轉換成功
FormatTP類函數將其它類型轉string:FormatBool()、FormatFloat()、FormatInt()、FormatUint()
AppendTP類函數用於將TP轉換成字符串后append到一個slice中:AppendBool()、AppendFloat()、AppendInt()、AppendUint()
fmt.Sprintf(格式化輸出)
下表中標出了常用的一些格式化樣式中的動詞及功能。
動 詞 | 功 能 |
---|---|
%v | 按值的本來值輸出 |
%+v | 在 %v 基礎上,對結構體字段名和值進行展開 |
%#v | 輸出 Go 語言語法格式的值 |
%T | 輸出 Go 語言語法格式的類型和值 |
%% | 輸出 % 本體 |
%b | 整型以二進制方式顯示 |
%o | 整型以八進制方式顯示 |
%d | 整型以十進制方式顯示 |
%x | 整型以十六進制方式顯示 |
%X | 整型以十六進制、字母大寫方式顯示 |
%U | Unicode 字符 |
%f | 浮點數 |
%p | 指針,十六進制方式顯示 |
如:
使用'%+v' &{Name:rat HP:150} 使用'%#v' &struct { Name string; HP int }{Name:"rat", HP:150} 使用'%T' *struct { Name string; HP int }C語言中, 使用%d代表整型參數