I Go är metoder funktioner associerade med en viss typ. De låter dig operera på objekt av den typen på ett strukturerat och organiserat sätt. För att använda metoder i Go måste du först definiera typen och sedan deklarera metoderna för den typen.
Låt oss ta ett enkelt exempel för att förstå hur man använder metoder i Go:
``` gå
// Definiera en persontyp
typ Person struct {
namnsträng
ålder int
}
// Deklarera metoder för persontyp
func (p *Person) Greet() {
fmt.Printf("Hej, jag heter %s och jag är %d år gammal!\n", p.name, p.age)
}
func (p *Person) SetName(name string) {
p.namn =namn
}
func (p *Person) SetAge(age int) {
p.age =ålder
}
func main() {
// Skapa en ny Person-instans
person :=Person{
namn:"John Doe",
ålder:30,
}
// Använd Greet-metoden på personinstansen
person.Greet()
// Använd metoden SetName för att ändra personens namn
person.SetName("Jane Doe")
// Använd metoden SetAge för att ändra personens ålder
person.SetAge(35)
// Använd Greet-metoden igen för att se det uppdaterade namnet och åldern
person.Greet()
}
```
I det här exemplet:
– Vi definierar en typ som heter Person med fälten namn och ålder.
- Vi deklarerar tre metoder för persontypen:Greet(), SetName() och SetAge(). Varje metod tar en pekmottagare (*Person) och fungerar på mottagarinstansen.
– I huvudfunktionen skapar vi en ny Person-instans och kallar Greet-metoden på den.
– Vi använder sedan metoderna SetName och SetAge för att ändra personens namn och ålder.
– Slutligen kallar vi Greet-metoden igen för att se det uppdaterade namnet och åldern.