Size: a a a

2020 February 12

E

Edgar in Go-go!
Переменное количество параметров, есть дэфолтные
источник

RS

Roman Sharkov in Go-go!
no, no, no, no.
источник

E

Edgar in Go-go!
Roman Sharkov
no, no, no, no.
Я поэтому и выше писал, что подход не самый крутой, и если можно без него, то го без него, но если прямо очень хочет человек, то уж лучше так реализовывает, чем пустые интерфейсы с приведением типа
источник

A

Aikidos in Go-go!
Roman Sharkov
с именованными не иначе, просто будут zero-value

func Fn(
 foo int
 bar string
 baz bool
) { /*…*/ }

Fn(bar: “baz”)
Именованные просто для удобства написания кода, обычно. При компиляции, команды будут выстроены так, что значения будут кидаться в стек подряд, как нужно функции. Скажем, если бы вы декомпилировали код, то никаких именованных и дефолтных параметров бы не обнаружили. В функцию бы были переданы все параметры (ещё и в нормальном порядке).  
Ну, и если какого-то значения нет, то получите ошибку (на этапе этой самой компиляции). Хотя, это уже зависит от компилятора.
источник

мн

мистер никитос in Go-go!
Aikidos
Есть этот ещё принцип, явное > неявного. Дефолтные параметры не такие явные. Вызвал функцию, а там ещё 10 дефолтных параметров, а ты и не заметил)
Ну, не зря же они дефолтные - значит не имеют степень первой важности а являются в идеале лишь доп. конфигурацией. Но это уже да, не гарантировано, что тот, кто код этот писал - думал также.
источник

мн

мистер никитос in Go-go!
Roman Sharkov
с именованными не иначе, просто будут zero-value

func Fn(
 foo int
 bar string
 baz bool
) { /*…*/ }

Fn(bar: “baz”)
Ну да, аналогично как в структуре объявление
источник

мн

мистер никитос in Go-go!
Сердце прихватило 😂
источник

E

Edgar in Go-go!
Edgar
Я поэтому и выше писал, что подход не самый крутой, и если можно без него, то го без него, но если прямо очень хочет человек, то уж лучше так реализовывает, чем пустые интерфейсы с приведением типа
.
источник

мн

мистер никитос in Go-go!
Да я понял)
источник

RS

Roman Sharkov in Go-go!
мистер никитос
Ну да, аналогично как в структуре объявление
с одним только исключением:

func Fn(
 foo int
 bar string
 baz bool
) { /*…*/ }

Fn()                    // No!
Fn(foo:  42)            // Okay
Fn(baz: true, foo:  42) // Okay
Fn(0, “”, false)        // Okay
источник

A

Aikidos in Go-go!
Aikidos
Именованные просто для удобства написания кода, обычно. При компиляции, команды будут выстроены так, что значения будут кидаться в стек подряд, как нужно функции. Скажем, если бы вы декомпилировали код, то никаких именованных и дефолтных параметров бы не обнаружили. В функцию бы были переданы все параметры (ещё и в нормальном порядке).  
Ну, и если какого-то значения нет, то получите ошибку (на этапе этой самой компиляции). Хотя, это уже зависит от компилятора.
Пример из шарпов. Под рукой только они. Нужно указать a обязательно.
источник

мн

мистер никитос in Go-go!
Roman Sharkov
с одним только исключением:

func Fn(
 foo int
 bar string
 baz bool
) { /*…*/ }

Fn()                    // No!
Fn(foo:  42)            // Okay
Fn(baz: true, foo:  42) // Okay
Fn(0, “”, false)        // Okay
Вполне вероятно
источник

RS

Roman Sharkov in Go-go!
Aikidos
Пример из шарпов. Под рукой только они. Нужно указать a обязательно.
вообще мне не нравится идея default value аля

func (a int, b string = “defaultValue”) {}

но сама идея именованых, где неуказанным полям присваиваются нулевые значения - неплоха
ибо мы в Go любим нулевые значения
источник

AN

Alexander Nevskiy in Go-go!
Всем привет, кто-нибудь пользовался этой штукой для sql запросов?
https://github.com/go-jet/jet
источник

RS

Roman Sharkov in Go-go!
Alexander Nevskiy
Всем привет, кто-нибудь пользовался этой штукой для sql запросов?
https://github.com/go-jet/jet
где-то видел недавно SQL -> Go code generator, а это похоже наоборот
источник

A

Aikidos in Go-go!
Alexander Nevskiy
Всем привет, кто-нибудь пользовался этой штукой для sql запросов?
https://github.com/go-jet/jet
Привет. @mrZuffar вроде о нём рассказывал что-то.
источник

ЗА

Заур Ашурбеков in Go-go!
Aikidos
Привет. @mrZuffar вроде о нём рассказывал что-то.
Я тоже спрашивал
источник

RS

Roman Sharkov in Go-go!
Чтобы даже не программист понял?

а чего вы хотите чтобы он понял?
источник

ЗА

Заур Ашурбеков in Go-go!
Учебник по питону? 😁
источник

RS

Roman Sharkov in Go-go!
что должен не программист понять читая на русском про Go?
источник