package main
func a() (r struct{}) { println(«a»); return }
func b(struct{}) { println(«b»); return }
func main() {
defer b(a())
println(«Main»)
}
Выведет:
a
Main
b
Ну т.е. defer не вызывает в конце строчку как есть, а сначала подгатавливает все значения, а потом вызывает только функцию. Прикольно.
P.S. Кстати, ответ на вопрос «зачем ты им пользуешься, если он такая кака и тебе не нравится» очень простой — а кто сказал, что он мне не нравится? Язык, на самом деле — отличный. Он простой. Он удобный. Да, есть несколько вещей, которые мне в нём _очень_ ненравятся: отсутствие деструкторов, невозможность понять что канал закрыт перед отправкой в него данных и странное поведение при вызове функции с переменным числом параметров. Впрочем, вызов функции с переменным числом параметров — просто ненравится. А вот первые две вещи — да, _очень_ ненравятся. А больше у меня ни к языку ни к компилятору притензий нет.
Originally published at U.F.M's Homepage. You can comment here or there.
(no subject)
Date: 2014-05-23 10:25 (UTC)- отсутсвие вообще возможностей для всяких разных метапрограммирований
- код выглядит как блевотина
(no subject)
Date: 2014-05-23 10:36 (UTC)(no subject)
Date: 2014-05-23 11:00 (UTC)(no subject)
Date: 2014-05-23 14:35 (UTC)я не люблю пидорасов.
(no subject)
Date: 2014-05-23 14:49 (UTC)(no subject)
Date: 2014-05-23 14:56 (UTC)(no subject)
Date: 2014-05-23 10:59 (UTC)2. Очень хорошо. Очень.
3. Вкусовщина.
(no subject)
Date: 2014-05-23 14:36 (UTC)2. ты про то что они таки есть? почему я их не видел?
3. да, конечно. у меня до этого такой же рвотный рефлекс был только на перл.
(no subject)
Date: 2014-05-23 14:45 (UTC)2. Нет, я про то, что их нет и слава богу.
3. Ну я вот тоже перл не люблю, что не мешает им пользоваться, когда приперает. А есть люди, которым он нравится до жути. Имеют право. Я и говорю - вкусовщина. :)