Vor kurzem habe ich angefangen, die Go-Sprache zu verwenden und irgendwie kann ich sie schreiben, also denke ich, dass ich sie bald wie eine Klasse schreiben werde, also werde ich sie hier schreiben! Ich werde es vorerst schreiben und später ausführlich erklären.
main.go
package main
import "fmt"
type Human struct {
Age int
Name string
}
func (h Human) getName() string {
return h.Name
}
func (h *Human) Birthday(newAge int) {
h.Age = newAge
}
func main() {
v := Human{Age: 3, Name: "mike"} //Instanzerstellung
fmt.Println(v.getName())
v.Birthday(24)
}
type Human struct {
Age int
Name string
}
Klassendefinitionen werden mithilfe des Konzepts einer Struktur namens struct definiert. Strukturen können Feldeigenschaften haben.
func (h Human) getName() string {
return h.Name
}
func (h *Human) Birthday(newAge int) {
h.Age = newAge
}
Die der Klasse zugeordnete Methode ist wie oben definiert. Funktionsname der Funktion (Variablenname, Klassenname), Rückgabewert { wird bearbeitet } Es wird sein. go setzt * neben den Klassennamen, um den Wert der Eigenschaft in der Funktion zu ändern. Dies zeigt auf die Adresse der Instanzvariablen. Sie können den tatsächlichen Wert ändern, indem Sie den Inhalt der Adressvariablen ändern. Wenn Sie andererseits den Inhalt der Eigenschaft nicht ändern möchten, müssen Sie * nicht verwenden.
func main() {
v := Human{Age: 3, Name: "mike"} //Instanzerstellung
fmt.Println(v.getName())
v.Birthday(24)
}
Instanzerstellung Variablenname: = Klassenname {Eigenschaftsname: Wert, .....} Es wird sein.
Es ist einfach, aber das war's.
Recommended Posts