Go string 相關操作複習
阿新 • • 發佈:2021-11-09
package main import ( "fmt" "strings" "strconv" ) func main() { fmt.Println("Hello W3Cschool!") m := "alexle" fmt.Println(m) fmt.Printf("%S\n",m) fmt.Println(strings.Split(m,"e")) //按什麼切片 fmt.Println(strings.HasPrefix(m, "a")) //判斷是否以什麼開頭 fmt.Println(strings.HasSuffix(m, "a")) //判斷是否以什麼結尾 fmt.Println(strings.HasSuffix(m, "e")) //判斷是否以什麼結尾 fmt.Println(strings.HasSuffix(m, "")) //這個判斷是true fmt.Println(strings.Index(m,"le")) // 2 返回首次出現 string 的位置(下標) fmt.Println(strings.LastIndex(m,"le")) //5 自右向左查詢首次出現的string位置 fmt.Println(strings.IndexRune(m,'l')) // 查詢單個字元'l'出現的位置 注意是單引號 fmt.Println(strings.Replace(m,"e","b",1)) // (str,old,new,n) 替換str中的old為new n=-1 時替換所有 fmt.Println(strings.Replace(m,"e","b",0)) // (str,old,new,n) 替換str中的old為new n=-1 時替換所有 =0 時不替換 =1 替換第一個 =2替換前兩個 以此遞推 fmt.Println(strings.Replace(m,"e","b",-1)) // (str,old,new,n) 替換str中的old為new n=-1 時替換所有 fmt.Println(strings.Count(m,"e")) // 統計sring 中 某字串出現的次數 fmt.Println(strings.Repeat(m,4)) //alexlealexlealexlealexle 相當於字串乘4 fmt.Println(strings.ToLower(m)) // 全小寫 fmt.Println(strings.ToUpper(m)) // 全大寫 fmt.Println(strings.TrimSpace(m)) //除去字串兩端的空白字串 fmt.Println(strings.Trim(m,"le")) //除去字串 開頭和結尾的"le"字串 fmt.Println(strings.Fields(m)) // 分割字串 返回對應的slice 切片型別 var sa = []string{"1","2","3"} // 切片 var arr [3]string // 陣列 or // Go語言的陣列和切片真讓人懵逼 fmt.Println(strings.Join(sa,","))//這裡第一個引數需要傳入一個切片 不能傳陣列 ... fmt.Println(arr) num := 10 fmt.Printf("type: %T\n",strconv.Itoa(num))//將數字轉化成字串 var float_test float64 float_test =1.65 fmt.Println(strconv.FormatFloat(float_test,'f',2,64)) fmt.Printf("type: %T\n",strconv.FormatFloat(float_test,'g',2,64)) r,_ := strconv.Atoi("18") fmt.Printf("%T\n",r) r1,_ := strconv.ParseFloat("1.618",64) fmt.Printf("%T\n",r1) fmt.Println("lalalala") }