К вопросам

Вызов функций

Тест · Вопрос 2 из 2

Тест

Вопрос 2

Что можно сказать о паре `x[0], x[1]` в выводе?

Go
package main

import "fmt"

func main() {
	a := 1
	f := func() int { a++; return a }
	x := []int{a, f()}
	fmt.Println(x[0], x[1])
}
Варианты ответа

Выберите один ответ

Между вычислением первого элемента слайсового литерала (`a`) и вызовом `f()` для второго спецификация не задаёт порядок, поэтому допустимы и `[1 2]`, и `[2 2]`. См. пример в спецификации: https://go.dev/ref/spec#Order_of_evaluation