Sobes.tech
Junior — Middle

Kako se vrši prenos elemenata između funkcija i struktura u jeziku Golang?

sobes.tech АИ

Одговор од АИ

U jeziku Go, prenos elemenata između funkcija i struktura može se obaviti na dva glavna načina: po vrednosti i po pokazivaču.

  • Po vrednosti: kopira se sama struktura ili promenljiva, promene unutar funkcije ne utiču na original.
  • Po pokazivaču: prosleđuje se adresa strukture ili promenljive, što omogućava funkciji da menja originalne podatke.

Primer:

package main
import "fmt"

type Person struct {
    Name string
    Age  int
}

func updateByValue(p Person) {
    p.Age = 30 // menja se samo kopija
}

func updateByPointer(p *Person) {
    p.Age = 30 // menja se original
}

func main() {
    person := Person{Name: "Ivan", Age: 25}
    updateByValue(person)
    fmt.Println(person.Age) // 25

    updateByPointer(&person)
    fmt.Println(person.Age) // 30
}

Ako želite da promenite podatke unutar funkcije, prosledite pokazivač na strukturu. Ako promene nisu potrebne, možete proslediti po vrednosti.