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!