Go에서 룬 리터럴과 문자열 리터럴의 차이점은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-11-18 05:45:02
원래의
663명이 탐색했습니다.

What's the Difference Between Rune Literals and String Literals in Go?

Go의 룬 리터럴 이해

Go 코드에서 "룬 리터럴에 두 개 이상의 문자"와 관련된 오류가 발생합니다. 이 오류를 이해하기 위해 Go의 룬 리터럴 개념과 그에 따라 코드를 조정해야 하는 이유를 살펴보겠습니다.

Go의 Rune 리터럴

Go에서, 룬 리터럴은 유니코드 코드 포인트를 나타내며 단일 문자를 표현하는 데 사용됩니다. 작은따옴표(' ')로 묶입니다. 룬 리터럴은 큰따옴표(" ") 또는 역따옴표(`)로 묶인 문자열 리터럴과 다릅니다.

오류: 룬 리터럴의 여러 문자

룬 리터럴로 작업할 때 작은따옴표 안에 문자가 하나만 포함되어 있는지 확인하는 것이 중요합니다. 코드에서 Printf 함수 내에서 룬 리터럴과 함께 문자열 형식 지정자(%d)를 사용하려고 합니다. %d는 십진 정수용이므로 이는 올바르지 않습니다.

해결책: %q 또는 %v를 사용

이 문제를 해결하려면 형식 지정자를 수정해야 합니다. 인쇄 중인 데이터 유형과 일치하도록 합니다. 이 경우 룬을 인쇄하는 중이므로 %q 또는 %v 형식 지정자를 사용해야 합니다.

  • %q: 룬 리터럴을 인용 문자로 인쇄합니다.
  • %v: 룬 리터럴을 유니코드 코드 포인트 값으로 인쇄합니다.

올바른 형식 지정자를 사용하여 수정된 코드는 다음과 같습니다.

    if a % 2 == 0 {
        fmt.Println("%d is an even number", a)
    } else {
        fmt.Println("%d is an odd number", a)
    }
로그인 후 복사

위 내용은 Go에서 룬 리터럴과 문자열 리터럴의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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