golang에서 Array를 Slice 로 컨버전하면 에러가 발생하므로 slice 로 처리해서 컨버전해야 합니다.
copy() 함수를 이용하여 슬라이스를 배열로 할당할 수 있는것도 Array 를 슬라이스로 처리하여 세팅해야 한다.
type data struct {
id [13]byte
name [20]byte
}
func (this *data) Set(any []byte) {
copy(this.id[:], any[0:13])
copy(this.name[:], any[13:33])
}
func main() {
var mapping []byte = make([]byte, 33)
mapping = []byte("0123456789012abcdefghijklmnopqrstuvxyz3456789")
a := new(data)
a.Set(mapping)
fmt.Println(" id ", string([]byte(a.id[:])))
fmt.Println(" name ", string([]byte(a.name[:])))
fmt.Println(" mapping ", string(mapping))
var abb [20]byte
copy(abb[:], []byte("hello world"))
fmt.Println(string(abb[:]))
}
댓글
댓글 쓰기