📜  GO语言 字符串

📅  最后修改于: 2021-01-02 09:08:11             🧑  作者: Mango

去弦乐

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

转到字符串HasPrefix()示例

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

输出:

true

转到字符串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

转到String Repeat()示例

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

输出:

New New New New 

转到String Contains()示例

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

输出:

true

转到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  

转到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

转到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" " "]
[""]

转到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

转到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