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