Go-문자열

Go 프로그래밍에서 널리 사용되는 문자열은 읽기 전용 바이트 조각입니다. Go 프로그래밍 언어에서 문자열은slices. Go 플랫폼은 문자열을 조작 할 수있는 다양한 라이브러리를 제공합니다.

  • unicode
  • regexp
  • strings

문자열 만들기

문자열을 만드는 가장 직접적인 방법은 다음과 같습니다.

var greeting = "Hello world!"

코드에서 문자열 리터럴을 발견 할 때마다 컴파일러는이 경우 "Hello world!"라는 값을 사용하여 문자열 개체를 만듭니다.

문자열 리터럴에는 룬이라고하는 유효한 UTF-8 시퀀스가 ​​있습니다. 문자열은 임의의 바이트를 보유합니다.

package main

import "fmt"

func main() {
   var greeting =  "Hello world!"
   
   fmt.Printf("normal string: ")
   fmt.Printf("%s", greeting)
   fmt.Printf("\n")
   fmt.Printf("hex bytes: ")
   
   for i := 0; i < len(greeting); i++ {
       fmt.Printf("%x ", greeting[i])
   }
   
   fmt.Printf("\n")
   const sampleText = "\xbd\xb2\x3d\xbc\x20\xe2\x8c\x98" 
   
   /*q flag escapes unprintable characters, with + flag it escapses non-ascii 
   characters as well to make output unambigous */
   fmt.Printf("quoted string: ")
   fmt.Printf("%+q", sampleText)
   fmt.Printf("\n")  
}

이것은 다음 결과를 생성합니다-

normal string: Hello world!
hex bytes: 48 65 6c 6c 6f 20 77 6f 72 6c 64 21 
quoted string: "\xbd\xb2=\xbc \u2318"

Note − 문자열 리터럴은 변경 불가능하므로 일단 생성 된 문자열 리터럴은 변경할 수 없습니다.

문자열 길이

len (str) 메서드는 문자열 리터럴에 포함 된 바이트 수를 반환합니다.

package main

import "fmt"

func main() {
   var greeting =  "Hello world!"
   
   fmt.Printf("String Length is: ")
   fmt.Println(len(greeting))  
}

이것은 다음 결과를 생성합니다-

String Length is : 12

문자열 연결

strings 패키지에는 메소드가 포함되어 있습니다. join 여러 문자열을 연결하기 위해-

strings.Join(sample, " ")

Join은 배열의 요소를 연결하여 단일 문자열을 만듭니다. 두 번째 매개 변수는 배열의 요소 사이에 배치되는 구분자입니다.

다음 예를 살펴 보겠습니다.

package main

import ("fmt" "math" )"fmt" "strings")

func main() {
   greetings :=  []string{"Hello","world!"}   
   fmt.Println(strings.Join(greetings, " "))
}

이것은 다음 결과를 생성합니다-

Hello world!