📕
Go 語言程式設計入門
  • 最新消息
  • 中文版更新日誌
  • 譯者誌謝
  • 01-起步走
    • 01.01-檔案與資料夾
    • 01.02-終端機(Terminal)
    • 01.03-文字編輯器
    • 01.04-Go 的工具
  • 02-你的第一個程式
    • 02.01-如何讀 Go 程式
    • 02.02-問題
  • 03-型別
    • 03.01-數字
    • 03.02-字串
    • 03.03-問題
  • 04-變數
    • 04.01-如何命名變數
    • 04.02-Scope(變數的作用範圍)
    • 04.03-常數(Constant)
    • 04.04-定義多個變數
    • 04.05-範例程式
    • 04.06-問題
  • 05-控制結構
    • 05.01-For
    • 05.02-If
    • 05.03-switch
    • 05.04-問題
  • 06-Array、Slice 與 Map
    • 06.01-陣列(Array)
    • 06.02-Slice
    • 06.03-Map
    • 06.04-問題
  • 07-函式
    • 07.01-你的第二個函式
    • 07.02-回傳多個值
    • 07.03-參數個數可變的函式(Variadic Function)
    • 07.04-Closure
    • 07.05-遞迴(Recursive)
    • 07.06-Defer, Panic & Recover
    • 07.07-Panic & Recover
    • 07.08-問題
  • 08-指標
    • 08.01-「*」與「&」運算符號
    • 08.02-new
    • 08.03-問題
  • 09-Struct 與 Interface
    • 09.01-struct
    • 09.02-Method
    • 09.03-Interface
    • 09.04-問題
  • 10-Concurrency(平行處理)
    • 10.01-Goroutine
    • 10.02-Channel
    • 10.03-問題
  • 11-Packages
    • 11.01-建立 Package
    • 11.02-文件
    • 11.03-問題
  • 12-測試
  • 13-The Core Packages
    • 13.01-字串
    • 13.02-輸入與輸出
    • 13.03-檔案與資料夾
    • 13.04-錯誤訊息
    • 13.05-Container 與 Sort
    • 13.06-雜湊&加解密
    • 13.07-伺服器
    • 13.08-解析命令列參數
    • 13.09-Synchronization Primitives(同步處理原始物件)
  • 14-下一步
    • 14.01-閱讀大師作品
    • 14.02-動手實作
    • 14.03-團隊合作
  • 15. 附錄-額外資源
Powered by GitBook
On this page
Edit on GitHub
  1. 03-型別

03.02-字串

如我們在第2章所見,字串是一連串用來表示文字的字元,有固定的長度。Go 的字串是由個別的 byte 組成,通常一個字元是一個 byte(其它語言的字元,如中文,是用一個以上的 byte 來表示)。

可以用兩個雙括號或單括號來建立字串,如:"Hello World" 或 `Hello World`,差異在於雙括號不能有換行符號,但是雙括號可以有特殊的跳脫字元,比如: 表示換行符號,而 表示 tab 字元。

有幾個常見的字串操作,包含找出字串長度:len("Hello World")、存取字串中的特定字元:"Hello World"[1],以及兩個字串的連接符號:"Hello " + "World"。讓我們來修改之前建立的程式來測試這些功能:

package main

import "fmt"

func main() {
    fmt.Println(len("Hello World"))
    fmt.Println("Hello World"[1])
    fmt.Println("Hello " + "World")
}

有些要注意的事情:

  • 空格也是字元,所以 "Hello World" 的字串長度是 11,而不是 10,且第三行是 "Hello " 而不是 "Hello"。

  • 字串從 0 開始進行索引(index)而不是 1。[1] 表示第二個元素(element),而不是第一個。還要注意,你在執行程式時看到 "Hello World"[1] 印出的是 101 而不是 e。這是因為字元是用一個 byte 來表示(記得一個 byte 就是一個整數)。可以將索引想成這樣:"Hello World"1,可以讀成 "Hello World 字串的子項目 1"、"在 Hello World 字串索引 1 的位置" 或者 "Hello World 字串的第二個字元"。

  • 連接字串的符號跟加法一樣,Go 編譯器認為依據參數決定型別,因為 + 的左右兩邊都是字串,所以編譯器認為你的意思是要連接字串,而不是加法(對字串做加法運算是沒有意義的)。

Previous03.01-數字Next03.03-問題

Last updated 2 years ago