Sobes.tech
Senior

Da li možemo na petom redu, gde se dešava fmt.Println(v), pristupiti jedinici (elementu dodatom putem append unutar fill-a) i je prikazati?

sobes.tech АИ

Одговор од АИ

U Go, ako unutar funkcije fill dodate element u rez putem append, taj element će postojati u rezu nakon poziva fill ako je rez prosleđen po referenci ili je vraćen.

Primer:

package main

import "fmt"

func fill(s []int) []int {
    s = append(s, 1) // dodavanje elementa
    return s
}

func main() {
    var v []int
    v = fill(v)
    fmt.Println(v) // ovde će biti prikazano [1]
}

Ako je rez prosleđen u fill po vrednosti i nije vraćen, izmene se neće sačuvati. Zato, da biste pristupili dodatom elementu na petom redu, morate ili vratiti rez iz fill ili proslediti pokazivač na rez.

Na ovaj način, na petom redu, fmt.Println(v), možete prikazati dodatnu jedinicu ako pravilno organizujete prosleđivanje i vraćanje reza.