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

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

Linda Hamilton
Linda Hamilton원래의
2024-11-14 14:44:02694검색

How to Convert Runes to Strings in Go?

Go에서 룬을 문자열로 변환

Go에서는 룬(유니코드 코드 포인트)을 문자열로 변환하는 것이 가능합니다. 이는 문자열 조작이 필요한 다양한 작업에 유용할 수 있습니다.

룬을 문자열로 변환하는 한 가지 방법은 strconv.QuoteRune() 함수를 사용하는 것입니다. 그러나 일부 사용자는 이 방법을 사용할 때 정의되지 않은 문자를 접할 수 있습니다.

이 문제를 해결하려면 Scanner.Scan() 함수의 작동 방식을 이해하는 것이 중요합니다. Scanner.Scan()은 입력을 토큰화하도록 설계되었습니다. 즉, Scanner.Mode 비트마스크에 의해 제어되는 특수 기호와 토큰을 인식합니다. 룬에 Scanner.Scan()을 사용하면 룬 자체가 아닌 text/scanner 패키지의 특수 상수가 반환됩니다.

단일 룬을 읽으려면 대신 Scanner.Next()를 사용하는 것이 좋습니다. :

c := b.Next()

이것은 룬 'a'를 변수 c에 할당하고 string을 사용하여 문자열로 변환할 수 있습니다. 캐스팅:

fmt.Println(c, string(c))

단순히 단일 룬을 문자열로 변환해야 하는 경우 기본 유형 변환을 사용할 수 있습니다. rune은 int32의 별칭이므로 정수 변환을 직접 적용할 수 있습니다.

r := rune('a')
fmt.Println(r, string(r))

문자열의 룬을 반복하려면 for ... 범위 구문을 사용할 수 있습니다.

for i, r := range "abc" {
    fmt.Printf("%d - %c (%v)\n", i, r, r)
}

다음을 사용하여 문자열을 룬 조각으로 변환할 수도 있습니다. utf8.DecodeRuneInString():

fmt.Println([]rune("abc"))

Go 토큰 모드에서 Scanner.Scan() 메서드를 사용할 때 룬을 Go 식별자처럼 처리하므로 정확한 작업을 위해 Scanner.Next()를 사용하는 것이 중요합니다. 룬 읽기.

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.