> 백엔드 개발 > Golang > Golang에서 룬을 문자열로 변환하는 방법은 무엇입니까?

Golang에서 룬을 문자열로 변환하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-20 03:50:01
원래의
713명이 탐색했습니다.

How to Convert a Rune to a String in Golang?

Golang에서 룬을 문자열로 변환

룬을 문자열로 캐스팅하고 인쇄하는 데 정의되지 않은 문자가 나타날까 봐 걱정됩니다. 문제를 자세히 조사하고 해결책을 찾아보겠습니다.

먼저 원본 코드에서는 Scanner.Scan()을 사용하여 룬을 읽었습니다. 그러나 이 방법은 실제 읽기 룬 자체가 아닌 토큰이나 특별한 토큰 값이 있는 룬을 처리하도록 설계되었습니다.

단일 룬을 읽으려면 대신 Scanner.Next():

c := b.Next()
fmt.Println(c, string(c), strconv.QuoteRune(c))
로그인 후 복사
이제 이 코드는 룬을 정수, 문자 표현 및 인용 버전으로 올바르게 읽고 인쇄합니다.

또는 단순히 룬을 문자열로 변환하려는 경우 다음을 사용할 수 있습니다. 간단한 유형 변환. Rune은 int32의 별칭이며 정수를 문자열로 변환하면 UTF-8 표현이 생성됩니다.

r := rune('a')
fmt.Println(r, string(r))
로그인 후 복사
문자열의 룬을 반복하려면 for ... 범위 루프를 사용할 수 있습니다.

for i, r := range "abc" {
    fmt.Printf("%d - %c (%v)\n", i, r, r)
}
로그인 후 복사
[]rune("abc")을 사용하여 문자열을 룬 조각으로 변환할 수도 있습니다.

또 다른 옵션은 utf8.DecodeRuneInString()을 사용하는 것입니다.

Scanner.Scan()을 사용하는 원본 코드에서는 "a"와 같은 식별자가 포함된 Go 토큰을 처리하도록 스캐너 모드를 실수로 구성했습니다. Scan()을 호출하면 scanner.Ident가 반환되고 식별자의 텍스트가 인쇄되어 정의되지 않은 문자가 생성됩니다.

위 내용은 Golang에서 룬을 문자열로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿