JavaScript의 charCodeAt() 메서드와 동일한 Go
JavaScript의 charCodeAt() 메서드는 특정 위치에서 문자의 숫자 유니코드 값을 검색합니다. 예를 들어,
<code class="javascript">"s".charCodeAt(0) // returns 115</code>
Go에서 문자 유형은 int32의 별칭이고 그 자체가 숫자인 rune입니다. 따라서 직접 인쇄하여 숫자형 유니코드 값을 얻을 수 있습니다.
지정된 위치의 문자를 얻으려면 가장 쉬운 방법은 문자열을 []룬으로 변환한 후 인덱스를 사용하는 것입니다. 문자열을 룬으로 변환하는 방법은 유형 변환입니다. []rune("some string"):
<code class="go">fmt.Println([]rune("s")[0])</code>
출력:
115
문자로 인쇄하려면 %를 사용하세요. c 형식 문자 문자열:
<code class="go">fmt.Println([]rune("absdef")[2]) // Also prints 115 fmt.Printf("%c", []rune("absdef")[2]) // Prints s</code>
또한 문자열의 for 범위는 문자열의 룬을 반복하므로 이를 사용할 수도 있습니다. []rune로 변환하는 것과 비교할 때 이 방법이 더 효율적입니다.
<code class="go">i := 0 for _, r := range "absdef" { if i == 2 { fmt.Println(r) break } i++ }</code>
카운터 i는 별도의 카운터여야 하며 루프 반복 변수가 될 수 없습니다. 범위 반환의 경우 바이트 위치이기 때문입니다. 룬 인덱스가 아닙니다(문자열에 UTF-8 표현의 멀티바이트 문자가 포함된 경우 다릅니다).
은 함수로 래핑됩니다:
<code class="go">func charCodeAt(s string, n int) rune { i := 0 for _, r := range s { if i == n { return r } i++ } return 0 }</code>
마지막으로 Go의 문자열은 UTF-8로 인코딩된 텍스트 바이트 시퀀스인 []byte에 저장됩니다(읽기 블로그 자세한 내용은 "Go의 문자열, 바이트, 룬 및 문자" 기사를 참조하세요. 문자열이 127보다 작은 코드의 문자를 사용하도록 보장되면 바이트를 직접 사용할 수 있습니다. 즉, Go에서 문자열을 인덱싱하면 해당 바이트가 인덱싱됩니다. 예를 들어 "s"[0]은 문자 's'의 바이트 값 115입니다.
<code class="go">fmt.Println("s"[0]) // Prints 115 fmt.Println("absdef"[2]) // Prints 115</code>
위 내용은 Go에서 문자의 유니코드 값을 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!