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
를 할 때. 따라서 함수의 결과로 패닉이나 횡설수설(잘못된 바이트)이 발생할 수 있습니다. 예제를 참조하세요.
다음을 수행하면 더 나은 결과를 얻을 수 있습니다.
으아악//m.sbmmt.com/link/dbdc69ea6ccbdea0ca2d796e1af24ebf
위 내용은 Golang 바이트 및 문자열의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!