Size: a a a

Генератор непрочитанных сообщений

2020 March 20

AK

Alexander Kladov in Генератор непрочитанных сообщений
у нас есть описание возвращаемого типа PrintFunc и есть то что мы реально возвращаем return func(text string)
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
С чего это становится утиной типизацией.
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
func(text string) это обычная анонимная функция
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
>_<
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Как же сложно, когда люди не могут в то, что функции могут быть first class citizen
источник

BT

Bohdan Turchyk in Генератор непрочитанных сообщений
Aleksandr Khristenko
Ты можешь ответить на вопрос?
он пытается подвести к тому, что хоть внешний метод описан как возвращающиц конкретный тип, сам возврат происходит для функции без конкретного типа
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
Bohdan Turchyk
он пытается подвести к тому, что хоть внешний метод описан как возвращающиц конкретный тип, сам возврат происходит для функции без конкретного типа
да
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Bohdan Turchyk
он пытается подвести к тому, что хоть внешний метод описан как возвращающиц конкретный тип, сам возврат происходит для функции без конкретного типа
Т.е. без конкретного типа? Мы возвращаем функцию типа func(text string)
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
мы возвращаем просто функцию с сигнатурой func(text string)
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Bohdan Turchyk
он пытается подвести к тому, что хоть внешний метод описан как возвращающиц конкретный тип, сам возврат происходит для функции без конкретного типа
Насколько я знаю, кейворд type нужен для создания синонимов типа.
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
Aleksandr Khristenko
Насколько я знаю, кейворд type нужен для создания синонимов типа.
но в return же не написано return PrintFunc()
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
>_<
источник

BT

Bohdan Turchyk in Генератор непрочитанных сообщений
вот да, я сейчас тоже об этом думаю
в таком случае в го нет именованных типов, есть только алиасы
источник

BT

Bohdan Turchyk in Генератор непрочитанных сообщений
Alexander Kladov
но в return же не написано return PrintFunc()
работать не будет
источник

BT

Bohdan Turchyk in Генератор непрочитанных сообщений
не гори, для нас пыхарей это достаточно новая концепция и уложить в голове её не так просто
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Alexander Kladov
но в return же не написано return PrintFunc()
https://play.golang.org/p/dh6-mDKL0Ek
тут все еще есть утиная типизация?
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
да
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
:D
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Bohdan Turchyk
не гори, для нас пыхарей это достаточно новая концепция и уложить в голове её не так просто
Чего нового?
Как у нас в пыхе use и короткие имена разворачиваются везде дальше в fqcn, так в го типосинонимы разворачиваются в полные имена.
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Duck typing in computer programming is an application of the duck test—"If it walks like a duck and it quacks like a duck, then it must be a duck"—to determine if an object can be used for a particular purpose. With normal typing, suitability is determined by an object's type. In duck typing, an object's suitability is determined by the presence of certain methods and properties, rather than the type of the object itself.
источник