В Java и C# класс Object
является неявным родителем для всех классов, которые определены. Есть что-то подобное в go?Есть ли у нас что-то такое же, что и Java и объект C# в Голанге?
ответ
В Go нет наследования.
Я думаю, что вы ищете interface
: Go: What's the meaning of interface{}?
, но если вам нужно что-то похожее на объект (не класс), вы можете использовать interface
:
Переменные типа интерфейса также имеют различные динамический тип, который является конкретным типом значения, присвоенного переменной во время выполнения (если только значение не указано, идентификатор nil, который не имеет типа ). Динамический тип может меняться во время выполнения, но значения, хранящиеся в переменных интерфейса , всегда присваиваются статическому типу переменной .
var x interface{} // x is nil and has static type interface{} var v *T // v has value nil, static type *T x = 42 // x has value 42 and dynamic type int x = v // x has value (*T)(nil) and dynamic type *T
и:
Типы интерфейсов:
тип интерфейса определяет метод набора, называемый его интерфейс. A переменная типа интерфейса может хранить значение любого типа с помощью метода , который является любым надмножеством интерфейса. Такой тип называется реализовать интерфейс. Значение неинициализированной переменной типа интерфейса равно нулю.
см: типы http://golang.org/doc/go_spec.html
Это неточно сказать, что go не является языком ООП. Он имеет объекты (любого пользовательского типа) и методы, а не наследование. Но наследование не является определяющим свойством языков OO - см. Https://en.wikipedia.org/wiki/Object-oriented_programming –
ACK. Я всегда говорю, что Go объектно-ориентированный, но не основанный на классе. – svenwltr
- 1. Что такое response.addHeader, когда у нас есть response.setContentType в java
- 2. Есть ли у нас условная компиляция в java как c?
- 3. Что такое специальный объект/объект $ scope в Angular JS, когда у нас есть переменные класса?
- 4. Теперь, когда у нас есть Honeycomb, что такое RenderScript?
- 5. Есть ли у нас автопрокат в Perl?
- 6. Сколько классов и пакетов у нас есть в java 6?
- 7. Есть ли что-нибудь такое, как bootstrap в Rails, как у нас есть bootstrap.groovy в grails?
- 8. У нас есть MultiBiMap?
- 9. Есть ли у нас RopeJoint в JBox2d?
- 10. Является ли процесс тем же, что и Горутин в Голанге?
- 11. Что такое закрытие? У java есть закрытие?
- 12. Почему у нас есть две версии Java?
- 13. Проверка, есть ли у нас константный тип
- 14. Что такое^0 в голанге?
- 15. Есть ли у нас сеть RDF?
- 16. C# Почему у нас есть финализаторы
- 17. Есть ли у нас публичные коллекции Postman?
- 18. Есть ли у нас Java-корреспондент .NET «mustinherit» или «notinheritable»?
- 19. Есть ли у нас целый ряд мероприятий?
- 20. Возможно ли, что у нас есть промежуточный экран набора iphone?
- 21. Есть ли у нас скин для windows?
- 22. Что такое Marlin DRM, если у нас есть CENC, MSE и EME?
- 23. Есть ли у нас больше ошибок (сообщений)?
- 24. Что такое символ и есть ли разница с символом? java
- 25. в Android, почему у нас есть - Context.getSharedPreferences() и -Activity.getPreferences()?
- 26. Что произойдет, если у нас есть частный конструктор в классе?
- 27. У нас есть getElementsByClassName в javascript?
- 28. У нас есть токен в BlackBerry push?
- 29. NSUserDefaults/SharedPreferences у нас есть что-то подобное в TypeScript
- 30. Нужна ли нам Hashtable, так как у нас есть ConcurrentHashMap?
Go даже не имеют родителей, не говоря уже общий предок. – user2357112
В классе нет занятий. Какую конкретную проблему вы пытаетесь решить? –
В java есть некоторая реализация по умолчанию для таких методов, как 'getHashCode' или' toString'. Что с ними происходит в голанге? – mahdix