Есть ли частичные классы в Go?Есть ли есть частичные классы?
Как здесь, на C#? http://msdn.microsoft.com/en-us/library/wa80x488.aspx
Я полагаю, что их нет, поскольку вы не можете частично объявлять структуры.
Есть ли частичные классы в Go?Есть ли есть частичные классы?
Как здесь, на C#? http://msdn.microsoft.com/en-us/library/wa80x488.aspx
Я полагаю, что их нет, поскольку вы не можете частично объявлять структуры.
Объявление метода для типа не обязательно должно быть в том же исходном файле, что и объявление типа или другие объявления метода для этого типа. Объявления метода должны быть в том же пакете, что и объявление типа.
Объявление типа не может быть разделено на файлы.
Go не имеет классов.
в go вы можете иметь метод, связанный с любым типом внутри одного и того же пакета в любом файле. возьмите этот маленький пример объекта foo с помощью функции Bar.
package main
import "fmt"
type foo struct {} // put variables associated with the type here
func (/*f*/ foo) Bar() { // put a value infront of foo if u need to access any elements in the object
// do something interesting
fmt.Println("Method called :D")
}
func main() {
example := foo{}
example.bar()
}
aslong as fong and bar declarions происходят в одном пакете, они могут быть размещены в любом файле.
Я надеюсь, что это продемонстрировало желаемую функциональность, которую вы пытаетесь реализовать/интересно, если go может поддерживать.
«Go не использует термин« классы », может быть? Ваш текст верен - Go не имеет ключевого слова и не используется в спецификации. Но я не хочу, чтобы кто-то думал, что они не могут делать то, что они привыкли делать с классами в Go, поскольку часто они могут с некоторой комбинацией названных типов/встраиваний/интерфейсов. – twotwotwo