>  기사  >  백엔드 개발  >  Go에서 문자의 유니코드 값을 얻는 방법: JavaScript의 charCodeAt()와 비슷합니까?

Go에서 문자의 유니코드 값을 얻는 방법: JavaScript의 charCodeAt()와 비슷합니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-04 01:18:03880검색

How to Get the Unicode Value of a Character in Go: Similar to JavaScript's charCodeAt()?

JavaScript의 charCodeAt() 메서드와 유사하게 Go에서 문자의 유니코드 값을 얻는 방법

JavaScript의 charCodeAt() 메서드는 다음을 제공합니다. 문자열의 특정 인덱스에 있는 유니코드 문자의 숫자 표현입니다. Go에서 유니코드 값을 처리하고 문자 코드를 검색하려면 약간 다른 접근 방식이 필요합니다.

Go에서 Rune 이해

Go에서 문자는 룬 유형, 즉 int32의 별칭입니다. 이는 문자가 charCodeAt()를 통해 액세스되는 숫자로 표시되는 JavaScript의 문자열과 달리 각 문자가 이미 숫자라는 것을 의미합니다.

문자열을 룬으로 변환

문자의 숫자 유니코드 값인 경우 []rune(string)을 사용하여 문자열을 룬 조각으로 변환합니다. 이 접근 방식을 사용하면 문자열 내의 개별 룬에 액세스할 수 있습니다.

for Range 루프 사용

또는 for 범위를 사용하여 문자열의 룬을 반복할 수도 있습니다. 고리. 이 접근 방식은 전체 문자열을 룬 조각으로 변환하는 것보다 더 효율적입니다.

예제 코드

다음 코드는 문자의 유니코드 값을 얻는 방법을 보여줍니다.

<code class="go">package main

import "fmt"

func charCodeAt(s string, n int) int32 {
    i := 0
    for _, r := range s {
        if i == n {
            return r
        }
        i++
    }
    return 0
}

func main() {
    fmt.Println(charCodeAt("s", 0)) // Outputs: 115
    fmt.Println(charCodeAt("absdef", 2)) // Outputs: 115
}</code>

바이트 작업

문자열이 127보다 작은 코드의 문자를 사용한다는 것이 보장되는 경우 문자열을 룬 문자 대신 바이트로 직접 인덱싱할 수 있습니다. . Go에서는 문자열을 인덱싱하면 해당 바이트 값을 검색합니다.

<code class="go">fmt.Println("s"[0]) // Outputs: 115
fmt.Println("absdef"[2]) // Outputs: 115</code>

이 접근 방식은 더 간단하지만 문자열에 멀티바이트 문자가 포함된 경우 부정확해질 수 있습니다.

위 내용은 Go에서 문자의 유니코드 값을 얻는 방법: JavaScript의 charCodeAt()와 비슷합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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