> 백엔드 개발 > Golang > 룬은 무엇이며 Go의 바이트와 어떻게 다릅니까?

룬은 무엇이며 Go의 바이트와 어떻게 다릅니까?

Patricia Arquette
풀어 주다: 2024-12-18 03:23:13
원래의
122명이 탐색했습니다.

What are Runes and How Do They Differ from Bytes in Go?

Go에서 Rune이란 무엇입니까?

Go에서는 "rune"이라는 용어를 정수 데이터 유형 int32의 별칭으로 사용합니다. 정수는 일반적으로 문자를 나타내는 데 사용되지 않기 때문에 다소 혼란스럽습니다. 그러나 Go에서 룬은 문자 조작에서 중요한 역할을 합니다.

룬 리터럴

Go에서 룬 리터럴은 단일 문자를 작은따옴표로 묶는 방식으로 표현됩니다. 'a' 또는 'z'로 표시됩니다. 이러한 리터럴은 실제로 유니코드 코드 포인트를 나타냅니다. 예를 들어 'a'는 코드 포인트 97에 해당합니다.

룬 기반 문자 조작

제공되는 SwapRune 함수는 룬을 입력으로 사용하고 대소문자를 바꿉니다. switch 문을 사용하여 소문자를 대문자로 변환하거나 그 반대로 변환하는 두 가지 경우를 처리합니다.

'a' <= r && r <= 'z'와 같은 스위치 문의 조건은 룬의 값을 'a' 및 'z'에 대한 유니코드 코드 포인트와 비교합니다. 룬이 이 범위에 속하면 소문자로 간주되며 그에 따라 코드 포인트가 조정되어 대문자 버전을 생성합니다.

룬 및 문자열 조작

SwapCase 함수는 문자열 조작에 룬을 사용하는 방법을 보여줍니다. strings.Map 함수를 사용하여 입력 문자열의 각 룬에 SwapRune 함수를 적용하여 모든 문자의 대소문자를 효과적으로 교환합니다.

바이트 대 Rune

룬은 유니코드 코드 포인트를 나타내는 데 사용되는 반면 바이트는 바이트 시퀀스의 개별 바이트를 나타냅니다. 각 문자가 단일 바이트로 표시되는 ASCII에서는 룬과 바이트를 서로 바꿔서 사용할 수 있습니다. 그러나 더 넓은 범위의 문자를 지원하는 유니코드에서는 여러 바이트를 사용하여 단일 유니코드 문자를 인코딩할 수 있습니다. 이러한 상황에서 룬은 바이트보다 문자를 더 정확하게 표현합니다.

위 내용은 룬은 무엇이며 Go의 바이트와 어떻게 다릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿