Какое последствие имеет вызов переменной-функции, которой не присвоено значение?
База Hintsage
Программирование Go
Язык Go и разработка надёжных сервисов.
Темы раздела
Выберите подраздел
- 0 вопросов
Общие вопросы
Смешанные вопросы по Go.
Открыть раздел - 33 вопроса
Go Core
Типы, функции, структуры, пакеты и базовая семантика Go.
Открыть раздел - 0 вопросов
Горутины и каналы
Конкурентность, goroutines, channels, select и синхронизация.
Открыть раздел - 0 вопросов
Интерфейсы и типы
Интерфейсы, методы, type assertions и generics.
Открыть раздел - 0 вопросов
Память и GC
Аллокации, escape analysis, сборщик мусора и производительность.
Открыть раздел - 0 вопросов
Обработка ошибок
Errors, wrapping, panic/recover и проектирование ошибок.
Открыть раздел - 0 вопросов
Тестирование
Unit-тесты, table-driven tests, mocks, race detector и benchmarks.
Открыть раздел
Практика
Вопросы: Программирование Go
Функция получает массив фиксированной длины по значению. Видны ли вызывающему коду изменения его элементов внутри функции?
Что означает присваивание одной map другой с точки зрения совместного изменения данных?
При каких условиях значение структуры удовлетворяет интерфейсу только через указатель, а не само по себе?
Представьте структуру с двумя встроенными типами, каждый из которых содержит поле одного имени: как Go разрешает обращение к этому полю?
Какие свойства полей структуры определяют, можно ли сравнивать её значения оператором == в Go?
Опишите механизм определения порядка инициализации переменных уровня пакета при наличии зависимостей в Go.
По какому признаку в Go различают отсутствие ключа в map и наличие ключа с нулевым значением?
В практической ситуации функция возвращает именованный результат, а отложенная функция изменяет его перед выходом. Какое значение получит вызывающий код?
Сравнение: чем по смыслу для компилятора отличается псевдоним типа от нового именованного типа?
Как передача среза в функцию влияет на видимость изменений его элементов и самого среза для вызывающего кода?
Объясните, когда Go автоматически берёт адрес значения структуры для вызова метода с указательным получателем.
Разберите, какое значение напечатает программа и почему результат зависит от типа значения внутри интерфейса.
package main
import "fmt"
type MyError struct{}
func (*MyError) Error() string { return "ошибка" }
func makeErr() error {
var e *MyError
return e
}
func main() {
fmt.Println(makeErr() == nil)
}
Показано 21–33 из 33