Эйч
Эйч
  • Все менторы
Задачи/Go-разработчик/Изменение структуры по указателю

Изменение структуры по указателю

Условие задачи

Нужно определить, какие значения будут напечатаны

gopackage main

import (
  "fmt"
  "unsafe"
)

type st struct {
  p1 bool
  p2 int
  p3 bool
}

func main() {
  myStr := st{}

  fmt.Println(unsafe.Sizeof(myStr)) // 0 ???

  fmt.Println(myStr) // 1 ???

  mutatePtr1(&myStr)

  fmt.Println(myStr) // 3 ???

  mutatePtr2(&myStr)

  fmt.Println(myStr) // 5 ???
}

func mutatePtr1(in *st) {
  in = &st{
    p1: true,
    p2: 666,
    p3: false,
  }

  fmt.Println("in mutatePtr1: ", *in) // 2 ???
}

func mutatePtr2(in *st) {
  *in = st{
    p1: false,
    p2: 8841,
    p3: true,
  }

  fmt.Println("in mutatePtr2: ", *in) // 4 ???
}

Профессия

Go-разработчик

Сопроводим до оффера

Умножим шансы на каждом этапе поиска и поможем получить выгодный оффер

Узнать больше

Сервис развития карьеры

Контактыteam@h.careers@hcareers
TelegramVKYouTubeLinkedIn
Профессии
Компания
С чем помогаемОтзывыВопросы и ответыСертификатыВебинарыСтать ментором

Платформа принадлежит ООО "Эйч Карьера"
ИНН 9710095807 ОГРН 1227700077340
Адрес: 127006, город Москва, Старопименовский пер, д. 18 стр. 2, помещ./ком./этаж I/19/2

Copyright © 2020-2025 Сервис развития карьеры Эйч. Все права защищены.

Политика конфиденциальностиПользовательское соглашениеОферта