ufm: (Default)
[personal profile] ufm

Вобще язык поражает своей… Не знаю как это назвать. Неконсистенстностью?

Можно определить в модуле неэкспортируемый тип? Можно. И пользоваться этим типом снаружи не получится.

Но зато из этого модуля можно вернуть значение этого типа. Его можно присвоить переменной. И даже пользоватся этой переменной (методы там вызывать).

Но передать эту пременную в свою функцию — нельзя. Потому что нельзя описать параметр (тип-то не экспортируемый). А если параметр описать как interface{} — то передать можно, но толком пользоваться — нельзя. У interface{} нет методов, например. Хотя, я подозреваю, через reflect можно дотянуться и до методов, но это уде совсем через жопу.

Можно в функцию передать переменное число параметров? Можно.
Можно из функции вернуть несколько значений? Можно.
Можно сделать вложенный вызов, так, что-бы возвращенные значения ушли напрямую в функцию с переменным числом параметров? Можно, но только если не будет дополнительных параметров.
Зачем было делать возможность возвращать несколько значений? А вот что-б не как Цэ, что-б функция могла вернуть значение и флаг успешности.
О! Наверное можно написать err, a, b, c, d: := fmt.Scanf(«%d %d %d %d») ? Неее. Нельзя. У функции может быть несколько возвращаемых значений, но не может быть переменное число возвращаемых значений.

Классы есть? Ну… Есть структуры с методами. Но конструкторов и деструкторов — нет. Так что если что, то ручками вызывай, не обломишься.

Лёгкие сопроцессы есть? Есть. Но методов контроля за ними — никаких.

А, вот еще прикол:


loop:
for {
break loop
}

Называется — догадайся куда мы выйдем после break.

Originally published at U.F.M's Homepage. You can comment here or there.

(no subject)

Date: 2014-04-22 11:32 (UTC)
From: [identity profile] ufm.livejournal.com
Самое смешное - не, не захочу. Для того, что бы паттерн-матчинг был удобен - там надо многое в синтаксисе докручивать. А вот разбирать слайс поэлементно - оно, по моему, даже синтаксис не поломает существующий, а радость нанести может. Надо будет попробовать разработчиков попытать - наверняка ведь им эту идею уже предлагали.

(no subject)

Date: 2014-04-22 12:00 (UTC)
From: [identity profile] theiced.livejournal.com
могу сконтачить напрямую с Evan Shaw (ойронио). у меня есть чёткое ощущение что все разработчики го - сраные хипсторы и индусня.