- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
type Speaker interface {
SayHello()
}
type Human struct {
Greeting string
}
func (Human) SayHello() {
fmt.Println("Hello")
}
...
var s Speaker
s = Human{Greeting: "Hello"}
s.SayHello()
И очень редко нужно, чтобы структура имплементила интерфейс, обычно указатель на структуру (но опять же, не обязательно, для детского примера покатит).
Но вот автор статьи Яву плохо знает, и несет чушь. В Яве можно не имплементировать интерфейс явно, но если потом к нему кастовать, то каст сработает. Так что в этом смысле Го ничего отличного не предлагает. , но смысле тот же.
С каких это пор?
http://ideone.com/ZeXvug
и на самом деле. в прошлом (по старой памяти) в жабе конверсия работала, а вылетало только при использовании. (почему подобный код нужно было instanceof везде обвешивать.)
но конкретно про возможность такого вызова я уже не помню. можно попробовать глянуть в выхлоп дизассемблера как именно метод вызывается: если через интерфейс, то точно не будет работать.
2. Нужно просто добавить класс-обертку, типа .
там вообще какие-нибудь интересные фичи/либы есть?
ЗЫ это же в го бул выражение в if запрещено брать в скобки?
Есть сборщик мусора, но нет нормального отладчика.
Есть интерфейсы, но по-настоящему полиморфизма нет, уровень энтропии в коде очень близок к Яве (код очень часто повторяется).
Есть много магии в виде штатных функций, которые делают что-то такое, что никакая другая пользовательская функция не сможет.
Есть много бесполезных возможностей. Например, можно послать сигнал в несуществующий канал: такая програма становится неуправляемой, и сделать с ней изнутри ничего нельзя. Или можно объявить метод у функции, но ничего полезного в этом методе сделать нельзя.
Есть много инструментов для навигации по коду и анализа, есть хорошая интеграция с редакторами, но код нельзя выполнять интерактивно.
Есть инструмент для автоформатирования кода, но его выхлоп сомнительного качества (и практически все им пользуются).
В Го можно писать или не писать ;. С примерно такими же последствиями как и в ж.скрипте с той разницей, что в Го принято скорее не писать.
У-у-у, мужеложник!.. Бог покарает всех грешников!