GO · 기초 문법
문자열과 rune 심화
Go 문자열은 UTF-8 바이트 시퀀스입니다. rune은 유니코드 코드포인트를 나타내며, 한글 등 멀티바이트 문자를 안전하게 처리합니다.
기초 문법중급stringruneutf8unicodebuilder
핵심 설명
Go 문자열은 UTF-8 바이트 시퀀스입니다. rune은 유니코드 코드포인트를 나타내며, 한글 등 멀티바이트 문자를 안전하게 처리합니다.
Go code
package main
import (
"fmt"
"strings"
"unicode/utf8"
)
func main() {
s := "Hello, 세계! 🌍"
fmt.Println("바이트 길이:", len(s))
fmt.Println("문자 수:", utf8.RuneCountInString(s))
// range는 rune 단위로 순회
for i, r := range s {
if r == '세' {
fmt.Printf("'세' at byte %d\n", i)
}
}
// 문자열 빌더 (효율적 연결)
var b strings.Builder
for i := 0; i < 5; i++ {
fmt.Fprintf(&b, "%d ", i)
}
fmt.Println(b.String()) // 0 1 2 3 4
}학습 팁
range로 문자열을 순회하면 자동으로 rune(유니코드 문자) 단위로 디코딩됩니다. 인덱스는 바이트 위치입니다.
주의할 점
len(s)는 바이트 수를 반환합니다. 한글 등 멀티바이트 문자의 문자 수를 세려면 utf8.RuneCountInString을 사용하세요.
자주 묻는 질문
문자열과 rune 심화란 무엇인가요?
Go 문자열은 UTF-8 바이트 시퀀스입니다. rune 은 유니코드 코드포인트를 나타내며, 한글 등 멀티바이트 문자를 안전하게 처리합니다.
문자열과 rune 심화 학습 시 주의할 점은 무엇인가요?
len(s) 는 바이트 수를 반환합니다. 한글 등 멀티바이트 문자의 문자 수를 세려면 utf8.RuneCountInString 을 사용하세요.
Continue Learning
Go 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.