Go語言字串


Posted by Henry on 2020-07-27

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

#GO #golang #go語言







Related Posts

挑戰001: Todo-list(筆記)

挑戰001: Todo-list(筆記)

MTR04_0908

MTR04_0908

[ 學習筆記系列 ] 很基礎的 Command Line 與 Git

[ 學習筆記系列 ] 很基礎的 Command Line 與 Git


Comments