Go - 字符串:初學者指南

Hello there, aspiring programmers! Today, we're going to embark on an exciting journey into the world of strings in Go. Don't worry if you've never written a line of code before – I'll be your friendly guide, and we'll take this step-by-step. By the end of this tutorial, you'll be manipulating strings like a pro!

Go - Strings

什麼是字符串?

在我們深入之前,讓我們先了解什麼是字符串。在編程中,字符串簡單地就是一系列字符。它可以是個單詞、一句話,甚至是整個段落。把它想成一串字母、數字或符號全部串在一起。

創建字符串

在Go語言中,創建字符串就像點心一樣簡單。讓我們看看一些方法:

使用雙引號

在Go中創建字符串最常見的方式就是將文本括在雙引號中。這裡有一個例子:

message := "Hello, Gopher!"

在這段代碼中,我們創建了一個名為message的字符串變量,並將其值設為"Hello, Gopher!"。

使用反引號

有時候,你可能想要創建一個跨多行的字符串。在這種情況下,你可以使用反引號(`)來代替雙引號。這樣做:

poem := `Roses are red,
Violets are blue,
Go is awesome,
And so are you!`

這樣創建了一個多行字符串,保留了所有的換行和空格。

創建空字符串

如果你想要從一個空字符串開始,稍後再填充它,沒問題!你可以這樣做:

var emptyString string

或者這樣:

emptyString := ""

這兩種方法都創建了一個空字符串變量。

字符串長度

既然我們知道了如何創建字符串,讓我們學習如何找出它們的長度。在Go中,我們使用len()函數來獲取字符串的長度。這有一個例子:

name := "John Doe"
length := len(name)
fmt.Println("The length of the name is:", length)

這將輸出:"The length of the name is: 8"

記住,空格也算作字符!這就是為什麼"John Doe"的長度是8。

串接字符串

串接只是將字符串粘在一起的另一個花哨說法。在Go中,我們有幾種方式來做到這點:

使用 + 運算符

串接字符串最簡單的方式就是使用 + 運算符:

firstName := "John"
lastName := "Doe"
fullName := firstName + " " + lastName
fmt.Println(fullName)

這將輸出:"John Doe"

使用 fmt.Sprintf()

對於更複雜的字符串組合,我們可以使用fmt.Sprintf()。這個函數允許我們創建有格式的字符串:

age := 30
greeting := fmt.Sprintf("Hello, %s! You are %d years old.", fullName, age)
fmt.Println(greeting)

這將輸出:"Hello, John Doe! You are 30 years old."

使用 strings.Join()

如果你有一個字符串切片並且想要將它們串接起來,你可以使用strings.Join()函數:

fruits := []string{"apple", "banana", "cherry"}
fruitList := strings.Join(fruits, ", ")
fmt.Println("My favorite fruits are:", fruitList)

這將輸出:"My favorite fruits are: apple, banana, cherry"

字符串方法

Go提供了一系列內置方法來操作字符串。這裡有一些最常見的使用:

方法 描述 示例
strings.ToUpper() 將字符串轉換為大寫 strings.ToUpper("hello") → "HELLO"
strings.ToLower() 將字符串轉換為小寫 strings.ToLower("WORLD") → "world"
strings.TrimSpace() 移除字符串前後的白空間 strings.TrimSpace(" Go ") → "Go"
strings.Replace() 替換字符串中的子字符串 strings.Replace("hello hello", "hello", "hi", 1) → "hi hello"
strings.Contains() 檢查字符串是否包含子字符串 strings.Contains("golang", "go") → true
strings.Split() 將字符串拆分為子字符串切片 strings.Split("a,b,c", ",") → ["a", "b", "c"]

記住,要使用這些方法,你需要在Go文件的開頭導入"strings"包:

import "strings"

結論

恭喜你!你剛剛踏入了Go語言字符串世界的第一步。我們已經涵蓋了創建字符串、找出它們的長度、串接它們,甚至還有一些方便的字符串方法。

記住,熟能生巧。嘗試玩轉這些概念,混合匹配它們,看看你能創造出什麼。在你還沒有意識到的時候,你將能夠輕鬆地串接起複雜的程序!

祝你好運,未來的Gophers!?

Credits: Image by storyset