강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

전건수님의 프로필 이미지
전건수

작성한 질문수

쉽고 빠르게 끝내는 GO언어 프로그래밍 핵심 기초 입문 과정

문자열 기초

for 문 string 한글문 은 안깨지네요.

작성

·

333

0

한글 string 으로 for을 돌려서 출력을 하는 방식을 써봤는데요.

str3 처럼 주소를 그대로 같다 쓸때 깨지지만 왜 for에서는 안깨지는지 궁금합니다. 

답변 4

0

전건수님의 프로필 이미지
전건수
질문자

네 감사합니다.

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

UTF-8은 가변 길이 문자 인코딩 방식이라 문자를 저장할 때 1바이트에서 4바이트까지 사용하며 한글은 3바이트로 저장합니다.

Golang의 캐릭터셋 규칙입니다.

str3처름 쓸 때는 decode 학습하는 decode 함수 등으로 utf-8로 변환해서 사용하시면 깨지는 것을 방지 할 수 있습니다.

 

http://pyrasis.com/book/GoForTheReallyImpatient/Unit45/02

 

위의 링크를 확인하시면 한글 규칙에 대해서 정말 자세하게 나와있습니다.

0

전건수님의 프로필 이미지
전건수
질문자

var str3 string = "고프로그래밍" 

 

for i, char := range str3 {

fmt.Printf("%c(%d)\t", char, i)  

}

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

안녕하세요. 전건수님

 

해당 예제 파일 및 관련 소스를 업로드 부탁드립니다.

 

감사합니다.

전건수님의 프로필 이미지
전건수

작성한 질문수

질문하기