Junior — Middle
Jak je během běhu programu řízena sekvence volání funkcí?
sobes.tech AI
Odpověď od AI
V jazyce Go se správa sekvence volání funkcí pomocí zásobníku volání. Když je funkce volána, je umístěna na zásobník a provádění přechází na ni. Po dokončení funkce vrací řízení volající funkci, která je níže na zásobníku. Řád volání lze také řídit pomocí gorutin a kanálů pro paralelní a asynchronní provádění.
Příklad sekvenčního volání funkcí:
package main
import "fmt"
func first() {
fmt.Println("První funkce")
}
func second() {
fmt.Println("Druhá funkce")
}
func main() {
first()
second()
}
Pro asynchronní provádění se používají gorutiny:
go first()
go second()
A synchronizace pomocí kanálů nebo sync.WaitGroup.