Hello World程序實例
Go變量實例
Go常量實例
Go for循環語句實例
Go if/else語句實例
Go switch語句實例
Go切片實例
Go範圍實例
Go函數實例
Go函數多個返回值實例
Go可變參數的函數實例
Go閉包(匿名函數)實例
Go函數遞歸實例
Go指針實例
Go指針實例
Go接口實例
Go錯誤實例
Go程序實例
Go通道實例
Go通道緩衝實例
Go通道同步實例
Go通道路線實例
Go Select實例
Go超時(timeouts)實例
Go非阻塞通道操作實例
Go關閉通道實例
Go通道範圍實例
Go計時器實例
Go斷續器實例
Go工作池實例
Go速率限制實例
Go原子計數器實例
Go互斥體實例
Go有狀態的goroutines實例
Go排序實例
Go按自定義函數排序實例
Go panic錯誤處理實例
Go延遲(defer)實例
Go集合函數實例
Go字符串函數實例
Go字符串格式化實例
Go正則表達式實例
Go JSON實例
Go時間日期實例
Go時代(Epoch)實例
Go時間格式化/解析實例
Go隨機數實例
Go數字解析實例
Go URL解析實例
Go SHA1哈希實例
Go Base64編碼實例
Go讀取文件實例
Go寫文件實例
Go行過濾器實例
Go命令行參數實例
Go命令行標誌實例
Go環境變量實例
Go執行過程實例
Go信號實例
Go退出程序實例
Go語言字符串
在Go編程中廣泛使用的字符串是隻讀字節。在Go編程語言中,字符串是切片。 Go平臺提供了各種庫來操作字符串。
- unicode
- 正則表達式
- 字符串
創建字符串
創建字符串的最直接的方法如下:
var greeting = "Hello world!"
每當遇到代碼中的字符串時,編譯器將創建一個字符串對象,其值爲「Hello world!
」。字符串文字持有有效的UTF-8序列稱爲符文。字符串可保存任意字節。參考如下代碼 -
package main
import "fmt"
func main() {
var greeting = "Hello world!"
fmt.Printf("normal string: ")
fmt.Printf("%s", greeting)
fmt.Printf("\n")
fmt.Printf("hex bytes: ")
for i := 0; i < len(greeting); i++ {
fmt.Printf("%x ", greeting[i])
}
fmt.Printf("\n")
const sampleText = "\xbd\xb2\x3d\xbc\x20\xe2\x8c\x98"
/*q flag escapes unprintable characters, with + flag it escapses non-ascii characters as well
to make output unambigous */
fmt.Printf("quoted string: ")
fmt.Printf("%+q", sampleText)
fmt.Printf("\n")
}
上面代碼執行後,將產生以下結果:
normal string: Hello world!
hex bytes: 48 65 6c 6c 6f 20 77 6f 72 6c 64 21
quoted string: "\xbd\xb2=\xbc \u2318"
注意:字符串文字是不可變的,因此一旦創建後,字符串文字就不能更改了。
字符串長度
len(str)
方法返回包含在字符串文字中的字節數。請參考以下代碼示例 -
package main
import "fmt"
func main() {
var greeting = "Hello world!"
fmt.Printf("String Length is: ")
fmt.Println(len(greeting))
}
上面代碼執行後,將產生以下結果:
String Length is : 12
連接字符串
strings
包包含一個用於連接多個字符串的join()
方法,其語法如下:
strings.Join(sample, " ")
Join
連接數組的元素以創建單個字符串。第二個參數是分隔符,放置在數組的元素之間。
現在來看看下面的例子:
package main
import (
"fmt"
"strings"
)
func main() {
greetings := []string{"Hello","world!"}
fmt.Println(strings.Join(greetings, " "))
}
這將產生以下結果:
Hello world!