Go - Character, Strings
Character types
byte
alias for uint8
10진수, 16진수(Ox32
), 문자('a'
) 저장 가능.
rune
alias for int32 ~= (Unicode code point) - Very Viking
유니코드 문자('한'
), 유니코드 문자 코드('\ud55c'
, '\U0000d55c'
) 저장 가능.
string
문자열 저장
UTF-8로 표현할 수 있는 문자, 유니코드 문자 코드(\u
, \U
), UTF-8 바이트코드(\x
) 저장 가능.
single line string
""
double quote 사용
multi lines string
` `
back quote 사용
length
len()
함수를 사용하면 해당 변수의 바이트 길이 출력.
UTF-8로 저장된 문자열의 길이는 unicode/utf8
패키지의 RuneCountInString()
사용.
operation
compare
var s1 string = "hello"
var s2 string = "hello"
fmt.Println(s1 == s2) // true
concatenate
fmt.Println(s1 + s2) // hellohello
fmt.Println(s1 + "world") // helloworld
access the character
index를 이용해 문자에 접근 가능.
그러나 문자 단위의 수정은 불가.
fmt.Println(s1[2]) // l
s1[2] = 'a' // occur comfile error
related packages
string manipulation https://golang.org/pkg/cmd/go/internal/str/
string conversions https://golang.org/pkg/strconv/
manipulate UTF-8 encoded strings https://golang.org/pkg/strings/
regular expression https://golang.org/pkg/regexp/