나는 이해하려고 노력하는 간단한 코드 비트를 가지고 있지만 올바르게 작동하도록하는 방법을 고민하고 있습니다.Go에서 바이트의 조각에 바이트 배열을 추가하는 방법
일반적인 생각은 일부 데이터를 전달하고 바이트 배열로 변환하려는 것입니다. 그런 다음 바이트 배열의 길이를 내 바이트 슬라이스의 첫 번째 인덱스에 적용한 다음 바이트 배열을 슬라이스 끝에 추가하려고합니다.
이가 뭘하려 :
var slice []byte
myString := "Hello there"
stringAsByteArray := []byte(myString) //convert my string to byte array
slice[0] = byte(len(stringAsByteArray)) //length of string as byte array
append(slice, stringAsByteArray)
그래서 아이디어는
slice
의 첫 번째 바이트는 그에서에 다음
len(b)
의 수를 포함하고, 일련의 바이트로 실제 문자열 메시지.
는하지만 난 얻을 : 예를 들어
cannot use stringAsByteArray (type []byte) as type byte in append
append(slice, stringAsByteArray) evaluated but not used
: 문자열과 [] 바이트가 다른 종류 및 유형을 혼합 할 수 없습니다 추가로. 두 번째는 훨씬 더 근본적인 것입니다. 이 모든 것이 여기에서 설명 할 수있는 것보다 Tour of Go에서 훨씬 잘 설명됩니다. – Volker
바이트 배열로 변환했기 때문에 바이트 배열을 추가한다고 생각했습니다. 내 슬라이스는 문자열이 아닌 바이트입니다. 바이트 배열에 바이트 배열을 추가 할 수없는 이유를 완전히 이해하지 못합니다. – Sir
"바이트 배열에 바이트 배열을 추가 할 수없는 이유를 완전히 이해하지 못했습니다." 간단히'append'는 전형적으로이 append ([] T, T)와 비슷하게 작동하기 때문입니다. 슬라이스에 하나 이상의 요소를 추가하는 슬라이스를 슬라이스에 추가하지 마십시오. 슬라이스의 각 요소를 추가하려면 https://tour.golang.org/moretypes/15에서 매우 잘 설명되어있는 '...'을 사용하십시오. 참조 된 https://blog.golang.org/go- 슬라이스 - 사용 및 내부. – Volker