Go 字符串基础教程文档

收录于 2023-04-20 00:10:05 · بالعربية · English · Español · हिंदीName · 日本語 · Русский язык · 中文繁體

Go 字符串

Go 字符串是一系列可变宽度的字符。
Go 字符串和文本文件占用更少的内存或磁盘空间。由于 UTF-8 是标准,Go 不需要编码和解码字符串。
Go 字符串是值类型并且不可变。这意味着如果您创建一个字符串,则不能修改该字符串的内容。字符串的初始值默认为空""。

转到字符串示例

package main
import ("fmt"
      "reflect"
)
func main()  {
   var x string = "Hello World"
   fmt.Println(x)
   fmt.Println(reflect.TypeOf(x))
}
输出:
Hello World
string

Go String len() 示例

package main
import "fmt"
func main() {
   str := "I love my country"
   fmt.Println(len(str))
}
输出:
17

去打印 ASCII 示例

package main
import "fmt"
func main() {
   fmt.Println("Ascii value of A is ","A"[0])
}
输出:
Ascii value of A is  65

Go String ToUpper() 示例

package main
import "fmt"
import "strings"
func main() {
   str := "india"
   fmt.Println(strings.ToUpper(str))
}
输出:
INDIA

Go String ToLower() 示例

package main
import "fmt"
import "strings"
func main() {
   str := "INDIA"
   fmt.Println(strings.ToLower(str))
}
输出:
india

Go String HasPrefix() 示例

package main
import "fmt"
import "strings"
func main() {
   s := "INDIA"
   fmt.Println(strings.HasPrefix(s,"IN"))
}
输出:
     true

Go String HasSuffix() 示例

package main
import "fmt"
import "strings"
func main() {
   s := "INDIA"
   fmt.Println(strings.HasSuffix(s,"IA"))
}
输出:
     true

Go String Join() 示例

package main
import "fmt"
import "strings"
func main() {
   var arr = []string{"a","b","c","d"}
   fmt.Println(strings.Join(arr,"*"))
}
输出:
a*b*c*d

Go String Repeat() 示例

package main
import "fmt"
import "strings"
func main() {
   var str = "New "
   fmt.Println(strings.Repeat(str,4))
}
输出:
     new New new New 

Go String Contains() 示例

package main
import "fmt"
import "strings"
func main() {
   str:= "Hi...there"
   fmt.Println(strings.Contains(str,"th"))
}
输出:
     true

Go String Index() 示例

package main
import "fmt"
import "strings"
func main() {
   str:= "Hi...there"
   fmt.Println(strings.Index(str,"th"))
}
输出:
5

Go String Count() 示例

package main
import "fmt"
import "strings"
func main() {
   str:= "Hi...there"
   fmt.Println(strings.Count(str,"e"))
}
输出:
2

Go String Replace() 示例

package main
import "fmt"
import "strings"
func main() {
   str:= "Hi...there"
   fmt.Println(strings.Replace(str,"e","Z",2))
}
输出:
Hi...thZrZ  

Go String Split() 示例

package main
import "fmt"
import "strings"
func main() {
   str := "I,love,my,country"
   var arr []string = strings.Split(str, ",")
   fmt.Println(len(arr))
   for i, v := range arr {
      fmt.Println("Index : ", i, "value : ", v)
   }
}
输出:
4
Index :  0 value :  I
Index :  1 value :  love
Index :  2 value :  my
Index :  3 value :  country

Go String Split() 示例 2

package main
import (
   "fmt"
   "strings"
)
func main() {
   fmt.Printf("%q\n", strings.Split("x,y,z", ","))
   fmt.Printf("%q\n", strings.Split(" John and Jack and Johnny and Jinn ", "and"))
   fmt.Printf("%q\n", strings.Split(" abc ", ""))
   fmt.Printf("%q\n", strings.Split("", "Hello"))
}
输出:
["x" "y" "z"]
[" John " " Jack " " Johnny " " Jinn"]
[" " "a" "b" "c" " "]
[""]

Go String Compare() 示例

package main
import (
   "fmt"
   "strings"
)
func main() {
   fmt.Println(strings.Compare("a", "b"))
   fmt.Println(strings.Compare("a", "a"))
   fmt.Println(strings.Compare("b", "a"))
}
输出:
    -1
0
1

Go String Trim() 示例

package main
import (
   "fmt"
   "strings"
)
func main() {
      fmt.Println(strings.TrimSpace(" \t\n I love my country  \n\t\r\n"))
}
输出:
I love my country

Go String ContainsAny() 示例

package main
import (
   "fmt"
   "strings"
)
func main() {
   fmt.Println(strings.ContainsAny("Hello", "A"))
   fmt.Println(strings.ContainsAny("Hello", "o & e"))
   fmt.Println(strings.ContainsAny("Hello", ""))
   fmt.Println(strings.ContainsAny("", ""))
}
输出:
     false
true
false
false