Что выведет код?
  Anonymous Quiz
    31%
    "write data" и "after write" в любом порядке
      
    6%
    только "write data" или "after write"
      
    5%
    только "write data"
      
    58%
    deadlock!
      
    👎31👍23🤯8🤡4🔥2🤮2👏1
  👆 Пояснение к предыдущему вопросу
👨🏻💻 В литералах срезов и массивов в Go индексируемые элементы и неиндексированные элементы могут сосуществовать. Индекс неиндексированного элемента - это индекс его предыдущего элемента плюс 1.
Итак
👨🏻💻 В литералах срезов и массивов в Go индексируемые элементы и неиндексированные элементы могут сосуществовать. Индекс неиндексированного элемента - это индекс его предыдущего элемента плюс 1.
Итак
[]int{2: 5, 6, 0: 7} становится []int{0: 7, 1: 0, 2: 5, 3: 6}.
Golang задачи с собеседований👍37🤮11❤2🔥2😁2
  Для чего можно использовать пустую структуру - struct{}?
  Anonymous Quiz
    4%
    пустую структуру использовать нельзя
      
    76%
    чтобы сэкономить память
      
    21%
    чтобы использовать динамическое определение типа
      
    🌚7👍5🐳5🤡4🥱2
  👆 Пояснение к предыдущему вопросу
👨🏻💻 Скорее всего вы бы использовали пустую структуру чтобы сэкономить память.
Golang задачи с собеседований
👨🏻💻 Скорее всего вы бы использовали пустую структуру чтобы сэкономить память.
a := struct{}{}
println(unsafe.Sizeof(a)) // Output: 0
Хотя более важное использование пустой структуры - показать читателю кода, что вам не важно значение вообще, то есть целью является передача информации о задумке автора.Golang задачи с собеседований
👍7🤡6👌2
  Что выведет код?
  Anonymous Quiz
    24%
    func(int), struct
      
    20%
    func(int), int
      
    34%
    func(), struct
      
    21%
    func(), int
      
    👆 Пояснение к предыдущему вопросу
👨🏻💻 При "переприсвоении" массива создается полностью идентичная копия в отдельной области памяти. Соответственно изменение одного массива, не повлияет на другой. И так как массив является сравниваемым типом данных, то операция сравнения не выдаст ошибку.
Golang задачи с собеседований
👨🏻💻 При "переприсвоении" массива создается полностью идентичная копия в отдельной области памяти. Соответственно изменение одного массива, не повлияет на другой. И так как массив является сравниваемым типом данных, то операция сравнения не выдаст ошибку.
Golang задачи с собеседований
👍24👎3
  👍12😁2
  В какой строке этот код выкинет панику во время выполнения?
  Anonymous Quiz
    20%
    6
      
    27%
    7
      
    14%
    8
      
    20%
    10
      
    20%
    11
      
    👍11🔥1