Я новичок в golang
, и моя версия golang - 1.13
Я пытаюсь использовать пакет binary
следующим образом
package main
import (
"bytes"
"encoding/binary"
"fmt"
)
type Coordinate struct {
x float64
y float64
z float64
}
func (self Coordinate) String() string {
return fmt.Sprintf("(%f,%f,%f)", self.x, self.y, self.z)
}
//not work
func test() {
var point Coordinate = Coordinate{1, 2, 3}
buf := bytes.Buffer{}
binary.Write(&buf, binary.LittleEndian, &point)
fmt.Println(point)
fmt.Println(buf)
p := new(Coordinate)
//panic: reflect: reflect.flag.mustBeAssignable using value obtained using unexported field
binary.Read(&buf, binary.LittleEndian, p)
fmt.Println(p)
}
func main() {
test()
println("over")
}
, и я получилсообщение об ошибке вроде этого:
panic: reflect: reflect.flag.mustBeAssignable using value obtained using unexported field
Что-то не так с моим кодом?