Канал про айти в целом и про Go в частности.
YouTube → youtube.com/@deferpanic
Все вопросы в личку канала
Поддержать канал:
ETH — tomakado.eth
TON — tomakado.ton
BTC — 19xwFstmVQsVYqZP64iMVg1StLNSah6Smo
Post #186
2.12K
DE @deferpanic
Showing posts older than #187 · Back to latest

Forwarded from Николай Тузов


Forwarded from Go Update
range над следующими видами выражений:for x := range n { ... } где n целочисленное выражение или переменная. Будет эквивалентно for x := 0; x < n; x++ { ... }for x, y := range f { … } где f это функция или метод со следующей сигнатурой: 1. func(yield func(T1, T2)bool) bool
2. func(yield func(T1)bool) bool
3. func(yield func()bool) boolrange) будут автоматически выброшены. Например для функции func(yield func(T1, T2) bool) bool допустимы следующие варианты range: 1. for x, y := range f { ... }
2. for x, _ := range f { ... }
3. for _, y := range f { ... }
4. for x := range f { ... }
5. for range f { ... }|yield булево значение позволяет определить вызываемому коду (тот кого вызывают через range), что пора прекратить исполнение и двигаться на выход (в случае break или return). Т.е. в случае for range f { break; } сразу после первого вызова yield вернет false.yield будет вызван после выхода из тела range) пока обсуждаются.
mix и maxclear — функция, которая из мапы удаляет все элементы, а в слайсе заменяет на нулевые значенияlog/slog для структурированного логированияslices и maps с набором полезных дженерик-функций для соответствующих структур данныхcmp с фукнциями для сравнения значений, у которых типы удовлетворяют констрейн Ordered