Анализ изменения структуры по указателю и её размера в памяти
Условие задачи
Необходимо определить, какие значения будут выведены до и после вызова функции, а также узнать размер структуры в памяти
gotype st struct {
// 4 ??? sizeof
p1 bool
p2 int
p3 bool
}
// ptr
func main() {
myStr := st{}
fmt.Println(myStr) // 1 ???
mutatePtr(&myStr)
fmt.Println(myStr) // 3 ???
fmt.Println(unsafe.Sizeof(myStr))
}
func mutatePtr(in *st) {
in = &st{
p1: true,
p2: 666,
p3: false,
}
fmt.Println("in mutatePtr:", in) // 2
}