Golang:文字列

4228 ワード

Golang内の変数の種類は、byteバイト、rune文字rune:(goのcharに相当)です.
  • レンゲを使用してpos-rune対
  • を巡回しました.
  • は、utf 8.RuneCount InStringを用いて文字数
  • を取得する.
  • バイト長
  • は、lenを使用して取得される.
  • []byteを使用してバイトを取得した
  • 他の文字列の操作:
  • Fields、Split、Join
  • Conttains,Index
  • Tolower、ToUpper
  • Trim,TrimRight,TrimLeft
  • ストリングス.go:
    package main
    
    import (
        "fmt"
        "unicode/utf8"
    )
    
    func main() {
        s := "Yes    !"  // utf-8
        fmt.Println(len(s))
        fmt.Printf("%s
    "
    , []byte(s)) for _, b := range []byte(s) { fmt.Printf("%X ", b) } fmt.Println() for i, ch := range s { // ch is a rune fmt.Printf("(%d %X)", i, ch) } fmt.Println() fmt.Println("Rune count:", utf8.RuneCountInString(s)) bytes := []byte(s) for len(bytes) > 0 { ch, size := utf8.DecodeRune(bytes) bytes = bytes[size:] fmt.Printf("%c ", ch) } fmt.Println() for i, ch := range []rune(s) { fmt.Printf("(%d %c)", i, ch) } fmt.Println() }
    出力:
    16
    Yes    !
    59 65 73 E6 88 91 E7 88 B1 E6 AC A3 E6 AC A3 21 
    (0 59)(1 65)(2 73)(3 6211)(6 7231)(9 6B23)(12 6B23)(15 21)
    Rune count: 8
    Y e s         ! 
    (0 Y)(1 e)(2 s)(3  )(4  )(5  )(6  )(7 !)