格式化Sprintf和切片

格式化在邏輯中非常常用。使用格式化函數,要注意寫法:fmt.Sprintf(格式化樣式, 參數列表…)

  1. 格式化樣式:字符串形式,格式化動詞以%開頭
  2. 參數列表:多個參數以逗號分隔,個數必須與格式化樣式中的個數一一對應,否則運行時會報錯
package main

import "fmt"

func main() {
	var str1 = "hello"
	str2 := "world"
	str3 := fmt.Sprintf("%s %s", str1, str2)
	n := len(str3)

	fmt.Println(str3)
	fmt.Printf("len(str3)=%d\n", n)

	substr := str3[0:5]
	fmt.Println(substr)

	substr = str3[6:]
	fmt.Println(substr)
	// 反序
	result := reverse(str3)
	fmt.Println(result)

	result = reverse1(result)
	fmt.Println(result)
}

func reverse(str string) string {
	var result string
	strLen := len(str)
	for i := 0; i < strLen; i++ {
		result = result + fmt.Sprintf("%c", str[strLen-i-1])
	}
	return result
}

func reverse1(str string) string {
	var result []byte
	tmp := []byte(str)
	length := len(str)
	for i := 0; i < length; i++ {
		result = append(result, tmp[length-i-1])
	}
	fmt.Println(result)
	return string(result)
}

打印結果

hello world
len(str3)=11
hello
world
dlrow olleh
[104 101 108 108 111 32 119 111 114 108 100]
hello world

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章