>백엔드 개발 >Golang >Go 언어에서 문자열의 길이를 찾는 방법

Go 언어에서 문자열의 길이를 찾는 방법

藏色散人
藏色散人원래의
2020-12-29 16:33:225876검색

Go 언어에서 문자열 길이를 찾는 방법: 1. "len()" 함수를 사용하여 ASCII 문자열 길이를 계산합니다. 2. "utf8.RuneCountInString()" 함수를 사용하여 유니코드 문자열 길이를 계산합니다.

Go 언어에서 문자열의 길이를 찾는 방법

이 문서의 운영 환경: Windows 7 시스템, Go 버전 1.11.2, Dell G3 컴퓨터.

추천 튜토리얼: "go 언어"

Go 언어는 문자열 길이를 계산합니다 - len() 및 RuneCountInString()

Go 언어의 내장 함수 len()을 사용하여 슬라이스를 얻을 수 있습니다 , 문자열, 채널 등의 길이 다음 코드에서는 len()을 사용하여 문자열 길이를 가져올 수 있습니다.

tip1 := "genji is a ninja"
fmt.Println(len(tip1))
tip2 := "忍者"
fmt.Println(len(tip2))

프로그램 출력은 다음과 같습니다.

16
6

len() 함수의 반환 값은 ASCII 문자 수 또는 문자열의 바이트 길이를 나타내는 int 유형입니다.

출력 첫 번째 줄의 16은 Tip1의 문자 수가 16임을 나타냅니다.

출력 두 번째 줄의 6은 Tip2의 문자 형식을 나타냅니다. 즉, "ninja"의 문자 수는 6입니다. 그러나 관례에 따라 "ninja"의 문자 수는 2가 되어야 합니다.

여기서 차이점은 Go 언어 문자열은 모두 UTF-8 형식으로 저장되고 각 한자가 3바이트를 차지하므로 len()을 사용하여 두 한자에 해당하는 6바이트를 얻습니다.

관례적인 문자 수를 기준으로 계산하려면 Go 언어의 UTF-8 패키지에서 제공하는 RuneCountInString() 함수를 사용하여 Uncode 문자 수를 계산해야 합니다.

다음 코드는 UTF-8에서 문자 수를 계산하는 방법을 보여줍니다.

fmt.Println(utf8.RuneCountInString("忍者"))
fmt.Println(utf8.RuneCountInString("龙忍出鞘,fight!"))

프로그램 출력은 다음과 같습니다.

2
11

일반 게임에서는 로그인 시 이름을 입력해야 하며 일반적으로 이름에는 길이 제한이 있습니다. 중국인들이 중국어를 이름으로 사용하는 데 익숙하다는 점을 고려하면 UTF-8 형식의 문자열 길이를 감지하는 것이 필요합니다.

요약

ASCII 문자열 길이는 len() 함수를 사용합니다.

유니코드 문자열 길이는 utf8.RuneCountInString() 함수를 사용합니다.

위 내용은 Go 언어에서 문자열의 길이를 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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