Напишем рекурсивную функцию для вывода целых чисел на отрезке.
func writeNumbers(a int, b int) {
if a > b {
return
}
fmt.Println(a)
writeNumbers(a + 1, b)
}
Вызываем функцию.
writeNumbers(3, 7)
Использование глобальных переменных
Создадим две глобальные переменные и функции для увеличения данных переменных.
package main
import "fmt"
var a int
var b int
func incA() {
a++
}
func incB() {
b++
}
func main() {
a = 100
b = 100
incA()
incA()
incA()
incA()
incB()
incB()
fmt.Println("A:", a)
fmt.Println("B:", b)
}
Использование указателей
Напишем процедуру для расчёта суммы чисел.
func getSum(a int, b int, ans * int) {
*ans = a + b
}
Вызываем созданную процедуру.
var x int
x = 100
getSum(2, 3, &x)
fmt.Println(x)
Передача массива в функцию через структуру
Опишем структуру.
type ArrStructure struct {
arr [5] int
}
Напишем функцию для инициализации элементов массива.
func setElements(s * ArrStructure, x int) {
for i := 0; i < len(s.arr); i++ {
s.arr[i] = x
}
}
Вызываем написанную функцию.
var a ArrStructure
setElements(&a, 10)
fmt.Println(a.arr)
setElements(&a, 17)
fmt.Println(a.arr)