Size: a a a

2021 May 14

AP

Alexey Palazhchenko in Go-go!
Нет, в Go нет аргументов по умолчанию. Можно использовать аргумент-структуру или функции, меняющие поведение
источник

AP

Alexey Palazhchenko in Go-go!
Вот так не надо делать в общем случае :)
источник

М

Мерль🛠 in Go-go!
источник

DS

Dmitry Soloma in Go-go!
fmt так уже сделано
источник

М

Мерль🛠 in Go-go!
Это один конкретный случай, тк нужно печатать что угодно
источник

AP

Alexey Palazhchenko in Go-go!
Пакет fmt — не общий случай
источник

DS

Dmitry Soloma in Go-go!
sql
источник

AP

Alexey Palazhchenko in Go-go!
Вы сравните количество такого кода в стандартной библиотеке с кодом с конкретными типами :)
источник

с

сонная википедия... in Go-go!
в обоих случаях это тесно связано с работой с рефлектом
источник

AP

Alexey Palazhchenko in Go-go!
И не учите людей плохому с порога — сами научаться :)
источник

DS

Dmitry Soloma in Go-go!
я же не говорю о том что где это можно или нет, вопрос был "Как". Возможность в языке есть. не надо вводить людеф в заблуждение
источник

А

Антоха in Go-go!
Окей) спасибо, немного странно, но ладно
источник

DS

Dmitry Soloma in Go-go!
они сам разберутся что им делать
источник

АК

Александр Костюченко... in Go-go!
А как звучит полный кейс?
В go, наверное, самое простое это передавать структуру где уже аргументы - это поля заполннные, имхо
источник

AP

Alexey Palazhchenko in Go-go!
Ответ на вопрос «можно ли сделать аргумент по дефолту nil» — нет, нельзя. Никто не вводит в заблуждение
источник

DS

Dmitry Soloma in Go-go!
"Привет, как можно сделать необязательный аргумент в функции? "

ответ arg ... interface{}
источник

АК

Александр Костюченко... in Go-go!
1. ну можно передавать какой-нибудь тип данных где нулевое значение это nil?
2. И, вероятно, можно этот кейс переделать в "передавать bool вместо нил" и внутри уже сделать проверку на false для дефолтного значения аргумента
3. Не делать функции с дефолтными аргументами т.к го как раз (мне кажется) сделан для более явного указания того что нужно делать, чтобы проще было читать код всем, а не помнить про дефолтное значение
источник

М

Мерль🛠 in Go-go!
Ещё шаблон, если пишешь библиотеку
func BrewTea(p Powder, w Water) Tea {
 return brewTea(p, w, nil)
}

func BrewTeaSugared(p Powder, w Water, s Sugar) Tea {
 return brewTea(p, w, &s)
}

func brewTea(Powder, Water, *Sugar) Tea {...}
источник

S

Sula in Go-go!
functional options?
источник

S

Sula in Go-go!
источник