1. 定义字符串类型
package mainimport ("fmt");func main() {var str1 string = "你好 GoLang 1"var str2 = "你好 GoLang 2"str3 := "你好 GoLang 3"fmt.Printf("%v--%T\n", str1, str1)// 你好 GoLang 1--stringfmt.Printf("%v--%T\n", str2, str2)// 你好 GoLang 2--stringfmt.Printf("%v--%T\n", str3, str3)// 你好 GoLang 1--string
}
2. 字符串转义符
package mainimport ("fmt");func main() {str1 := "this \n is string" fmt.Println(str1)// this // is stringstr2 := "C:\\Go\\bin"fmt.Println(str2)// C:\Go\bin}
3. 多行字符串
package main
import ("fmt");
func main() {str := `this is athis is bthis is cthis is dthis is e`fmt.Println(str)// this is a // this is b// this is c// this is d// this is e
}
4. 求字符串长度
package mainimport ("fmt");func main() {var str1 = "aaaa"fmt.Println(len(str1))// 4var str2 = "你好" fmt.Println(len(str2))// 6
}
5. 拼接字符串
package mainimport ("fmt");func main() {str1 := "你好"str2 := "Golang"str3 := str1 + str2fmt.Println(str3)// 你好Golangstr4 := "你好"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 mainimport ("fmt";"strings");func main() {var str1 = "123-456-789"arr1 := strings.Split(str1, "-")str2 := strings.Join(arr1, "*")fmt.Println(str2) // 123*456*789arr2 := []string{"php", "java", "golang"} str3 := strings.Join(arr2, "-")fmt.Printf("%v - %T", str3, str3)// php-java-golang - string}
8. 判断是否包含
package mainimport ("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 mainimport ("fmt";"strings");func main() {str := "this is str"str1 := "this"flag1 := strings.HasPrefix(str, str1)fmt.Println(flag1)// truestr2 := "str"flag2 := strings.HasSuffix(str, str2)fmt.Println(flag2)// true}
10. 从前查找字符串位置
package mainimport ("strings");func main() {str := "this is str"str1 := "is"num1 := strings.Index(str, str1)println(num1) // 2str2 := "xxx"num2 := strings.Index(str, str2)println(num2) // -1 }
11. 从后查找字符串位置
package mainimport ("strings");func main() {str1 := "this is str"str2 := "is"num := strings.LastIndex(str1, str2)println(num) // 5
}