>  기사  >  백엔드 개발  >  Golang 바이트 및 문자열

Golang 바이트 및 문자열

WBOY
WBOY앞으로
2024-02-09 09:00:29845검색

Golang 字节与字符串

php 편집기 Youzi가 Golang의 바이트와 문자열을 심층적으로 탐색하도록 안내합니다. Golang에서는 바이트열과 문자열이 일반적인 데이터 유형이지만 이들 사이에는 미묘한 차이점과 변환 방법이 있습니다. 이러한 차이점과 변환 방법을 이해하면 데이터를 더 잘 처리하고 프로그램 성능을 최적화하는 데 도움이 됩니다. 이 기사에서는 바이트와 문자열의 개념, 상호 변환 방법, 실제 응용 프로그램에서의 사용 시나리오를 소개하여 Golang에서 바이트와 문자열을 더 잘 이해하고 적용하는 데 도움을 줍니다. 함께 탐험해 보세요!

질문 내용

golang에서 길이가 같은 두 문자열 사이의 공통 요소를 찾으려고 합니다.

요소를 찾았으나 문자열 표현에 바이트 값도 포함되어 있는 것 같습니다. 어떻게 제거할 수 있나요?

으아악

내가 얻는 결과는

으아악

여기에 코드를 입력하세요

해결 방법

fmt.sprintf 而不是 fmt.printf을 사용해야 합니다.

그리고 내장된 println,而是使用 fmt.println을 사용하지 마세요.

https://pkg.go.dev/[이메일 보호됨]#printf

으아악

printf는 형식 지정자에 따라 형식을 지정하고 표준 출력에 씁니다. 쓴 바이트 수와 발생한 쓰기 오류를 반환합니다.

그러므로 18 (0x0,0x0)...

  • 18 是字符串 "common element = i"의 문자 수입니다.
  • (0x0,0x0) 是由 println 打印的 nil 오류 값.

그러나 더 중요한 것은 바이트와 룬을 혼합하기 때문에 알고리즘에 결함이 있다는 것입니다. 문자열에 range 时,迭代变量 charvalue 将被分配一个 rune,它可能是多字节的。但是,当您索引字符串(例如 secondelements[index])时,其结果始终是单个 byte를 할 때. 따라서 함수의 결과로 패닉이나 횡설수설(잘못된 바이트)이 발생할 수 있습니다. 예제를 참조하세요.

다음을 수행하면 더 나은 결과를 얻을 수 있습니다.

으아악

https://www.php.cn/link/dbdc69ea6ccbdea0ca2d796e1af24ebf

위 내용은 Golang 바이트 및 문자열의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제