Golang 字符串類型和字符串操作
字符串類型
- 可解釋的字符串
- 可解釋的字符串("")支持特殊字符 \n, \f(換頁), \t(Tab鍵), \r, \b, \v
- 原生字符串
package main
import "fmt"
func main() {
var name = "Bo\ty"
// "" : 可解釋的字符串
//""支持特殊字符 \n, \f(換頁), \t(Tab鍵), \r, \b, \v
//``原生字符串
var desc = `我來自\t中國`
fmt.Println(name)
fmt.Println(desc)
}
標準輸出
Bo y
我來自\t中國
字符串操作
算數運算及關係運算
- 算數運算符:+ (字符串連接)
- 關係運算 (==, !=, >, >=, <=)
package main
import "fmt"
func main() {
//操作
//算數運算符:+ (字符串連接)
name := "boy"
fmt.Println("我叫" + name)
//關係運算 (==, !=, >, >=, <=)
fmt.Println("ab" == "bb")
fmt.Println("ab" != "bb")
fmt.Println("ab" < "bb")
fmt.Println("ab" <= "bb")
fmt.Println("ab" > "bb")
fmt.Println("ab" >= "bb")
fmt.Println("bb" >= "b")
}
標準輸出
我叫boy
false
true
true
true
false
false
true
賦值
package main
import "fmt"
func main() {
//賦值
s := "我叫"
s += "boy"
fmt.Println(s )
}
標準輸出
我叫boy
索引
- 字符串內容只能爲ASCII碼
- 索引:字符串定義後,每個字符串會有一個索引(編號,從0 - (n-1) (n爲字符串長度))
package main
import "fmt"
func main() {
name := "boy"
//字符串內容只能爲ASCII碼
//索引:字符串定義後,每個字符串會有一個索引(編號,從0 - (n-1) (n爲字符串長度))
fmt.Printf("%T, %c \n", name[0], name[0])
}
標準輸出
uint8, b
切片
- 切片:拿出字符串中的一部分,[start:end],取出從start到(end-1)的字符,必須是ASCII碼
package main
import "fmt"
func main() {
name := "boy"
desc := "我來自北京"
//切片:拿出字符串中的一部分,[start:end],取出從start到(end-1)的字符,必須是ASCII碼
fmt.Printf("%T, %s \n", name[0:2], name[0:2])
fmt.Printf("%T, %s \n", name[0:2], name[0:2])
fmt.Printf("%T, %s \n", desc[0:2], desc[0:2])
}
標準輸出
string, bo
string, bo
string, ��
獲取字符串長度
package main
import "fmt"
func main() {
desc := "我來自北京"
fmt.Println(len(desc))
}
標準輸出
15
指針
- 指針聲明需要指定存儲地址中對應數據的類型,並使用*作爲類型前綴。指針變量聲 明後會被初始化爲nil,表示空指針
package main
import "fmt"
func main() {
A := 2
B := A
fmt.Println(A, B)
C := &A
//C取A在內存中的地址
fmt.Printf("%T, %T\n", C, C)
//通過指針修補改A的值
*C = 4
fmt.Println(A)
}
從標準輸入中掃描用戶輸入的數據
package main
import "fmt"
func main() {
var name string
fmt.Print("請輸入名字:")
fmt.Scan(&name)
fmt.Print("你的名字是:", name)
var age int
fmt.Print("\n請輸入年齡:")
fmt.Scan(&age)
fmt.Print("你的年齡是:", age)
var height float64
fmt.Print("\n請輸入身高:")
fmt.Scan(&height)
fmt.Print("你的身高是:", height)
}
標準輸出
請輸入名字:haha
你的名字是:haha
請輸入年齡:18
你的年齡是:18
請輸入身高:19
你的身高是:19
如果之前輸入的;類型錯誤,無法轉換會影響後續輸入
示例
請輸入名字:haha
你的名字是:haha
請輸入年齡:ee
你的年齡是:0
請輸入身高:你的身高是:0