@RoadToGamedev

Golang какие есть способы создания счетчика?

Здравствуйте. Как лучше создать счетчик внутри функции? Что бы при вызове ее в цикле мы добавлялся +1.
В цикле может быть несколько функций. Которые вызываются в разных временных промежутках. То есть счетчик должен быть уникален для каждой функции.
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
bitniks
@bitniks
Go/PHP/Symfony developer
Можно сделать через замыкание
package main

import (
	"fmt"
)

func main() {
	funcWithCounter1 := funcWithCounter()
	fmt.Println(funcWithCounter1())
	fmt.Println(funcWithCounter1())
	fmt.Println(funcWithCounter1())

	funcWithCounter2 := funcWithCounter()
	fmt.Println(funcWithCounter2())
	fmt.Println(funcWithCounter2())
}

func funcWithCounter() func() int {
	var counter int
	return func() int {
		// тут полезная работа
		counter++
		return counter
	}
}

https://play.golang.org/p/6JdUk4hwtjU
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы