1. 定义字符串类型
package main
import ("fmt");
func main() {
var str1 string = "你好 GoLang 1"
var str2 = "你好 GoLang 2"
str3 := "你好 GoLang 3"
fmt.Printf("%v--%T\n", str1, str1)
// 你好 GoLang 1--string
fmt.Printf("%v--%T\n", str2, str2)
// 你好 GoLang 2--string
fmt.Printf("%v--%T\n", str3, str3)
// 你好 GoLang 1--string
}
2. 字符串转义符
package main
import ("fmt");
func main() {
str1 := "this \n is string"
fmt.Println(str1)
// this
// is string
str2 := "C:\\Go\\bin"
fmt.Println(str2)
// C:\Go\bin
}
3. 多行字符串
package main
import ("fmt");
func main() {
str := `this is a
this is b
this is c
this is d
this is e
`
fmt.Println(str)
// this is a
// this is b
// this is c
// this is d
// this is e
}
4. 求字符串长度
package main
import ("fmt");
func main() {
var str1 = "aaaa"
fmt.Println(len(str1))
// 4
var str2 = "你好"
fmt.Println(len(str2))
// 6
}
5. 拼接字符串
package main
import ("fmt");
func main() {
str1 := "你好"
str2 := "Golang"
str3 := str1 + str2
fmt.Println(str3)
// 你好Golang
str4 := "你好"
str5 := "世界"
str6 := fmt.Sprintf("%v %v", str4, str5)
fmt.Println(str6)
// 你好 世界
str7 := "反引号间换行将被作为字符串中的换行," +
"文本将会原样输出," +
"但是所有的转义字符均无效"
fmt.Println(str7)
// 反引号间换行将被作为字符串中的换行,文本将会原样输出,但是所有的转义字符均无效
}
6. 字符串分割
package main
import ("fmt";"strings")
func main() {
var str = "123-456-789"
arr := strings.Split(str, "-")
fmt.Println(arr)
// [123 456 789] // 返回一个切片
}
7. 切片链接成字符串
package main
import ("fmt";"strings");
func main() {
var str1 = "123-456-789"
arr1 := strings.Split(str1, "-")
str2 := strings.Join(arr1, "*")
fmt.Println(str2)
// 123*456*789
arr2 := []string{"php", "java", "golang"}
str3 := strings.Join(arr2, "-")
fmt.Printf("%v - %T", str3, str3)
// php-java-golang - string
}
8. 判断是否包含
package main
import ("fmt";"strings");
func main() {
str1 := "this is str"
str2 := "this"
flag1 := strings.Contains(str1, str2)
fmt.Println(flag1)
// true
str3 := "thisxxx"
flag2:= strings.Contains(str1, str3)
fmt.Println(flag2)
// false
}
9. 前缀/后缀判断
package main
import ("fmt";"strings");
func main() {
str := "this is str"
str1 := "this"
flag1 := strings.HasPrefix(str, str1)
fmt.Println(flag1)
// true
str2 := "str"
flag2 := strings.HasSuffix(str, str2)
fmt.Println(flag2)
// true
}
10. 从前查找字符串位置
package main
import ("strings");
func main() {
str := "this is str"
str1 := "is"
num1 := strings.Index(str, str1)
println(num1)
// 2
str2 := "xxx"
num2 := strings.Index(str, str2)
println(num2)
// -1
}
11. 从后查找字符串位置
package main
import ("strings");
func main() {
str1 := "this is str"
str2 := "is"
num := strings.LastIndex(str1, str2)
println(num)
// 5
}