Golang에서 룬을 문자열로 변환
룬을 문자열로 변환하려면 strconv.QuoteRune() 함수를 사용할 수 있습니다. 그러나 코드에서는 룬을 읽기 위해 scanner.Scan()을 사용하고 있는데 이는 잘못된 것입니다.
scanner.Scan() 함수는 토큰 또는 Scanner.Mode에 의해 제어되는 특수 토큰의 룬을 읽습니다. 비트마스크. 룬 자체를 반환하지 않고 text/scanner 패키지의 특수 상수를 반환합니다.
단일 룬을 읽으려면 대신 Scanner.Next()를 사용하세요. 수정된 코드는 다음과 같습니다.
package main import ( "fmt" "strconv" "strings" "text/scanner" ) func main() { var b scanner.Scanner const a = `a` b.Init(strings.NewReader(a)) c := b.Next() fmt.Println(strconv.QuoteRune(c)) }
출력:
'a'
또는 유형 변환을 사용하여 룬을 문자열로 직접 변환할 수 있습니다. int32:
r := rune('a') fmt.Println(string(r))
출력:
a
더 많은 편의를 위해 for ... 범위 구성을 사용하여 문자열의 룬을 반복할 수 있습니다.
for _, r := range "abc" { fmt.Println(string(r)) }
출력:
a b c
다음을 사용하여 문자열을 룬 조각으로 변환할 수도 있습니다. []rune():
runes := []rune("abc") fmt.Println(runes) // Output: [97 98 99]
마지막으로 utf8.DecodeRuneInString()을 사용하여 문자열에서 룬을 추출할 수 있습니다.
위 내용은 Go에서 룬을 문자열로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!