Golang字串介紹
Golang字串是由存放多個字元的陣列所組成,字元是按照 UTF-8
編碼的 Unicode
字符集
簡單使用
func main() {
var str string = "Hello"
fmt.Println(str)
}
字串無法修改
var str string = "Hello World"
str[0] = 'a'
輸出結果 :
./main.go:10:5: non-name str[0] on left side of :=
字串的表示形式
使用雙引號表示 :
字串裡帶有特殊字符會換行
func main() {
var str string = "Hello\nWorld"
fmt.Println(str)
}
輸出結果 :
Hello
World
使用反引號表示 :
字串裡帶有特殊字符也當成普通字串印出
func main() {
var str string = `Hello\nWorld`
fmt.Println(str)
}
輸出結果 :
Hello\nWorld
字串的拼接方式
一般拼接 :
var str string = "Hello" + "World"
換行拼接 :
換行時加號必須留在上一行尾部
var str string = "Hello" +
"World"
字串轉換方式
基本數據類型轉字串 :
使用 fmt
包的 Sprintf
函數作轉換
var num1 int = 99
str := fmt.Sprintf("%d", num1)
fmt.Printf("type = %T \nvalue = %v \n", str, str)
輸出結果 :
type = string , value = 99
使用 strconv
包做轉換
import (
"fmt"
"strconv"
)
func main() {
var num1 int = 99
str := strconv.FormatInt(int64(num1), 10)
fmt.Printf("type = %T , value = %v \n", str, str)
}
輸出結果 :
type = string , value = 99
字串轉基本數據類型
轉換成功
var str string = "100"
num, _ := strconv.ParseInt(str, 10, 64) //轉成十進制的64位元類型
fmt.Printf("type = %T , value = %v \n", num, num)
輸出結果 :
type = int64 , value = 100
轉換失敗,轉換不合法字串
var str string = "Hello"
num, _ := strconv.ParseInt(str, 10, 64) //轉成十進制的64位元類型
fmt.Printf("type = %T , value = %v \n", num, num)
輸出結果 :
轉換失敗value為0
type = int64 , value = 0