Что выведет код?
Anonymous Quiz
26%
128 128
20%
128 0
4%
0 128
11%
0 0
14%
Ошибка компиляции
26%
Посмотреть результаты
Forwarded from Golang
package main
func main() {
for i := 0; i < 3; i++ {
defer func() { print(i) }()
}
for i := range [3]int{} {
defer func() { print(i) }()
}
}
Ответ
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Golang
package main
var m = make(map[any]any)
func foo[T any](x T) {
type K struct{}
m[K{}] = x
}
func main() {
foo(123)
foo(true)
println(len(m))
}
Ответ
@golangtests
Please open Telegram to view this post
VIEW IN TELEGRAM
Как подсчитать общее количество элементов, определенных в Enum?
Решение
Пишите свое решение в комментариях👇
@golangtests
Решение
package main
import "fmt"
const (
I1 = 1 << iota
I2
I3
ILen int = iota
)
const (
X1 = "A"
X2 = "B"
X3 = "C"
XLen int = iota
)
func main() {
fmt.Println(I1, I2, I3, ILen)
fmt.Println(X1, X2, X3, XLen)
}
Пишите свое решение в комментариях👇
@golangtests
Польская запись — это форма записи арифметических, логических и алгебраических выражений, в которой операция располагается слева от операндов. Выражения в польской записи могут обходиться без скобок, однако мы оставим скобки для наглядности.
Например, выражение в польской записи выглядит как
(* 5 (+ 3 4))
Пусть в нашем случае выражения состоят из чисел от 0 до 9, круглых скобок и трёх знаков операций: плюс, минус и звёздочка (умножить). Требуется составить программу polish.go, вычисляющую значение выражения.
Пишите свое решение в комментариях👇
@golangtests
Please open Telegram to view this post
VIEW IN TELEGRAM
Каким будет результат выполнения кода?
Anonymous Quiz
11%
[0 1 2 3] [0 2 3 3 3]
25%
[0 2 3 3] [0 2 3 3 3]
46%
[0 1 2 3] [0 2 3 2 3]
18%
[0 2 3 3] [0 2 3 2 3]
Что выведет код?
Anonymous Quiz
8%
0
7%
1
4%
2
33%
Любое число >=1
33%
Ошибка компиляции
16%
Посмотреть результаты
func foo(a []int) {
a = append(a, 7)
a[1] = 7
}
func bar(a *[]int) {
*a = append(*a, 7)
}
func main() {
a := []int{1, 2, 3, 4, 5, 6}
fmt.Printf("a[1]=%d\n", a[1])
b := a[1:3]
b[0] = 10
fmt.Printf("1. a[1]=%d\n", a[1]) // что выведет?
b = append(b, a...)
b[0] = 100
fmt.Printf("2. a[1]=%d\n", a[1]) // что выведет?
foo(a)
fmt.Printf("3. a[1]=%d\n", a[1]) // что выведет?
bar(&a)
fmt.Printf("4. a=%v\n", a) // что выведет?
}
Ответ
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM