1. 程式人生 > 其它 >Go string 相關操作複習

Go string 相關操作複習

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")
    
    
    
}