Необязательные аргументы в функциях Go
|
|
Воскресенье, 10 Декабря 2017 г. 22:04
+ в цитатник
В Go нет синтаксиса для определения необязательных аргументов в функциях, поэтому приходится использовать обходные пути. Я знаю 2:
- Передавать структуру, содержащую все необязательные аргументы в полях:
funcStructOpts(Opts{p1: 1, p2: 2, p8: 8, p9: 9, p10: 10})
- Способ предложенный Робом Пайком с использованием функциональных аргументов:
funcWithOpts(WithP1(1), WithP2(2), WithP8(8), WithP9(9), WithP10(10))
Второй способ в принципе делает тоже самое, но с синтаксическим сахаром. Мне не давала покоя мысль, а сколько же стоит этот сахар, кому ещё интересно прошу под кат.
Читать дальше ->
https://habrahabr.ru/post/344352/
Метки:
author svistunov
go
benchmark
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-