字串轉換常用函數
尚硅谷Golang課

字串轉換常用函數


var str string = "abc123中文"

func main() {
	fmt.Println("長度=", len(str))
	r := []rune(str)
	for i := 0; i < len(r); i++ {
		fmt.Printf("遍歷=%q\n", r[i])
	}
	//轉成整數 Atoi
	n, err := strconv.Atoi("5421")
	if err != nil {
		fmt.Println("錯誤,err")
	} else {
		fmt.Println("轉換成", n)
		//整數轉字串
		str2 := strconv.Itoa(654231)
		fmt.Printf("類型是%T\n", str2)
		//轉byte
		var bytes = []byte("hello")
		fmt.Printf("bytes=%v \n", bytes)
		//byte轉回字串
		str3 := string([]byte{97, 98, 99})
		fmt.Printf("str3=%v \n", str3)
		//10進制轉2,8,16返回字串
		str4 := strconv.FormatInt(123, 2)
		fmt.Printf("str4類型是%T,值=%v \n", str4, str4)
		//查找子串
		b := strings.Contains("seafood", "foo")
		fmt.Printf("b類型是%T,值=%v \n", b, b)
		//統計符合數量
		c := strings.Count("sgfjklewshfrrrrrr", "r")
		fmt.Printf("c類型是%T,值=%v \n", c, c)
		//不分大小寫 (因為==是分的)
		d := strings.EqualFold("ABCd", "aBcD")
		fmt.Printf("d類型是%T,值=%v \n", d, d)
		//查找第一次出現的子串位置
		i := strings.Index("sdaf654abc", "a")
		fmt.Printf("i類型是%T,值=%v \n", i, i)
		//查找最後出現的子串位置
		l := strings.LastIndex("sdaf654abc", "a")
		fmt.Printf("l類型是%T,值=%v \n", l, l)
		//替換文字
		str5 := "瘟疫之地有瘟疫,瘟疫病人身上有瘟疫"
		r := strings.Replace(str5, "瘟疫", "痔瘡", 2)
		fmt.Println("原句", str5)
		fmt.Printf("r類型是%T,值=%v \n", r, r)
		//依照指定的字串分割成切片
		s := strings.Split("hello,world,ok", ",")
		fmt.Printf("s類型是%T,值=%v \n", s, s)
		//大小寫轉換
		cap := "DDDDssss"
		cap = strings.ToLower(cap)
		fmt.Println(cap)
		cap = strings.ToUpper(cap)
		fmt.Println(cap)
		//去掉左右兩邊空格
		sp := strings.TrimSpace("  KJHF JKLH LKJ  ..   ")
		fmt.Println(sp)
		//去掉左右指定 //TrimLeft // TrimRight
		lr := strings.Trim("!!KJHFJHG!!!", "!")
		fmt.Println(lr)
		//判斷開頭或結束  //HasSuffix
		s6 := strings.HasPrefix("ftp://192.164.2.1", "ftp")
		fmt.Printf("s6類型是%T,值=%v \n", s6, s6)
	}
}

上次修改於 2021-08-01

此篇文章的評論功能已經停用。