모든 데이터 유형을 허용하는 해시 함수를 생성하려면 변환 기능이 필요합니다. 데이터를 바이트 배열로 변환합니다. 그러나 바이너리 패키지는 데이터의 유형과 바이트 순서에 대한 지식을 요구하므로 간단한 변환이 어려운 것 같습니다.
오류는 초기 접근 방식에 있었습니다. gob 패키지는 이 변환을 효과적으로 처리할 수 있습니다.
다음 코드는 임의 인터페이스를{}바이트 배열로 변환하는 방법을 보여줍니다.
package bloom import ( "encoding/gob" "bytes" ) // GetBytes converts an interface{} to a byte array. func GetBytes(key interface{}) ([]byte, error) { var buf bytes.Buffer enc := gob.NewEncoder(&buf) err := enc.Encode(key) if err != nil { return nil, err } return buf.Bytes(), nil }
이 함수는 gob 패키지를 활용하여 입력 인터페이스를 바이트 배열로 인코딩합니다. 그런 다음 인코딩 중에 발생한 오류와 함께 결과 바이트 배열을 반환합니다.
위 내용은 임의의 Go 인터페이스를 바이트 배열로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!