- Асинхронное программирование в Go:
Go предоставляет встроенные функции для поддержки асинхронного программирования с использованием горутин и каналов. Вот пример запуска горутины для асинхронного выполнения задачи:
package main
import (
"fmt"
"time"
)
func task() {
// Simulating some work
time.Sleep(2 * time.Second)
fmt.Println("Task completed")
}
func main() {
fmt.Println("Main started")
go task() // Launch the task asynchronously
fmt.Println("Main continues")
// Wait for the task to complete
time.Sleep(3 * time.Second)
fmt.Println("Main finished")
}
В этом примере функция task()выполняется одновременно как горутина, в то время как основная программа продолжает свое выполнение. Программа ожидает завершения задачи с помощью вызова time.Sleep().
- Сигнатуры функций в Go:
Go использует сигнатуры функций для определения типов и порядка параметров, а также типа возвращаемого значения функции. Вот пример функции с сигнатурой:
package main
import "fmt"
func add(a, b int) int {
return a + b
}
func main() {
result := add(5, 3)
fmt.Println("Result:", result)
}
В этом примере функция add()принимает два целочисленных параметра (aи b) и возвращает их сумму в виде целого числа.