Как устроено копирование структуры, содержащей срез?
База Hintsage
Go Core
Типы, функции, структуры, пакеты и базовая семантика Go.
Практика
Вопросы: Go Core
От чего зависит, можно ли присвоить значение одного типа переменной другого типа без явного преобразования в Go?
В практической ситуации результат обхода map выводится в разном порядке между запусками. Можно ли считать этот порядок частью поведения Go и на что заменить такую зависимость?
В обработчике конфигурации поле map осталось неинициализированным: какая операция с ним приведёт к панике, хотя чтение этого поля безопасно?
Каким механизмом в Go проверяют, содержит ли интерфейс значение нужного конкретного типа, не допуская паники?
При копировании элементов между перекрывающимися участками среза какой результат гарантирует встроенная функция copy в Go?
Что меняется при передаче двунаправленного канала в функцию, принимающую только отправку или только получение?
Какое правило Go определяет, доступно ли имя из другого пакета?
Как контекст назначения определяет тип нетипизированной константы в Go?
В текстовом обработчике нужно пройти строку с символами вне ASCII. Почему обход через range и обращение к строке по индексу дают разные единицы данных?
Как Go инициализирует поля структуры, созданной без явных значений?
При множественном присваивании выражение справа читает переменную, которая одновременно указана слева: какое значение оно получает?
Локальная переменная объявлена внутри функции, но её адрес возвращается вызывающему коду. Почему обращение по этому адресу остаётся корректным после завершения функции?
В сервисе вызывают метод через nil-указатель на структуру. От чего зависит, завершится ли такой вызов паникой?
Сохранение метода в переменную: когда фиксируется получатель в Go?
При вызове метода через интерфейсное значение какой механизм определяет реализацию, которая будет выполнена?
В чём состоит ограничение сравнения значений функционального типа в Go?
Как затенение переменной во вложенном блоке влияет на замыкание, созданное внутри этого блока?
Сопоставьте семантику nil-среза и пустого среза: в каких случаях их различие становится наблюдаемым?
В функции отложенный вызов печатает значение переменной после её изменения. Какой порядок и значения выведет программа?
package main
import "fmt"
func main() {
x := 1
defer fmt.Println("аргумент:", x)
defer func() {
fmt.Println("замыкание:", x)
}()
x = 2
}
Показано 1–20 из 33