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 중국어 웹사이트의 기타 관련 기사를 참조하세요!