Объяснение 👆
Такой код используется чтобы поменять местами два значения. Операция подмены в Go защищена от побочных эффектов так как назначаемые значения гарантированно хранятся во временных переменных перед началом фактического присвоения, поэтому порядок не имеет значения.
Такой код используется чтобы поменять местами два значения. Операция подмены в Go защищена от побочных эффектов так как назначаемые значения гарантированно хранятся во временных переменных перед началом фактического присвоения, поэтому порядок не имеет значения.
Какую из следующих ситуаций нельзя отловить с помощью recover()?
Anonymous Quiz
11%
сравнение интерфейсы с одинаковыми несопоставимыми динамическими типами
16%
использование значения интерфейса с несопоставимыми динамическими типами в качестве ключей карты
62%
переполнение стека
11%
выход за пределы диапазона среза
Что выведет код?
Anonymous Quiz
28%
func(int), struct
24%
func(int), int
28%
func(), struct
21%
func(), int
Объяснение👆
В сравнении значений интерфейса, если динамические типы двух операндов идентичны и несопоставимы, то сравнение вызовет панику во время выполнения.
Сравнение двух значений интерфейсов (с помощью оператора `==`) происходит в 3 этапа:
1. если одно из двух значений интерфейса является нулевым значением интерфейса, то результатом сравнения будет то, является ли другое значение интерфейса также
2. если динамические типы двух значений интерфейса имеют два разных типа, то результат сравнения будет
3. для случая динамических типов когда два значения интерфейса имеют одинаковый тип:
- если тот же динамический тип является несопоставимым типом, возникнет паника. В этом вопросе это
- иначе результат сравнения является результатом сравнения динамических значений двух значений интерфейса.
Специцикация: https://golang.org/ref/spec#Comparison_operators
В сравнении значений интерфейса, если динамические типы двух операндов идентичны и несопоставимы, то сравнение вызовет панику во время выполнения.
Сравнение двух значений интерфейсов (с помощью оператора `==`) происходит в 3 этапа:
1. если одно из двух значений интерфейса является нулевым значением интерфейса, то результатом сравнения будет то, является ли другое значение интерфейса также
nil
.2. если динамические типы двух значений интерфейса имеют два разных типа, то результат сравнения будет
false
.3. для случая динамических типов когда два значения интерфейса имеют одинаковый тип:
- если тот же динамический тип является несопоставимым типом, возникнет паника. В этом вопросе это
map[int]int
- несопоставимый тип.- иначе результат сравнения является результатом сравнения динамических значений двух значений интерфейса.
Специцикация: https://golang.org/ref/spec#Comparison_operators
go.dev
The Go Programming Language Specification - The Go Programming Language
Что выведет код?
За вопрос благодарим @candyboober
PS. если у вас есть вопросы то присылайте их @igorhub
За вопрос благодарим @candyboober
PS. если у вас есть вопросы то присылайте их @igorhub
Что выведет код?
Anonymous Quiz
31%
true false false false
23%
false false false false
45%
true true false false
Объяснение 👆
- При именованых возвращаемых параметрах возвращаемое значение автоматически ему присваивается и возвращается именно именуемый параметр.
- Дефер принимает параметры уже при обьявлении вызова, таким образов первый принт принимает только инициализированное значение которое по-умолчанию false, а следующий вызов defer вызывает функцию без параметров, а параметр для println будет получен уже из результата работы функции.
- При именованых возвращаемых параметрах возвращаемое значение автоматически ему присваивается и возвращается именно именуемый параметр.
- Дефер принимает параметры уже при обьявлении вызова, таким образов первый принт принимает только инициализированное значение которое по-умолчанию false, а следующий вызов defer вызывает функцию без параметров, а параметр для println будет получен уже из результата работы функции.
[Git] Как инициализировать пустой репозиторий (без рабочей директории)?
Anonymous Quiz
1%
git init --shared
27%
git init --bare
40%
git init --empty
3%
git init --free
18%
git init --new
12%
Не знаю
Что выведет код?
Anonymous Quiz
46%
s1 [1 42] s2 [21]
18%
s1 [0 42] s2 [21]
6%
s1 [1 42] s2 [21 42]
26%
s1 [21 42] s2 [21 42]
4%
Не знаю
Что выведет следующий код?
Anonymous Quiz
14%
0, 0 |
53%
0, 0 | 1, 0 |
5%
0, 0 | 1, 1 |
22%
0, 0 | 0, 1 | 1, 0 | 1, 1 |
5%
код не выполниться
1%
Не знаю