@RoadToGamedev

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

Здравствуйте. Как лучше создать счетчик внутри функции? Что бы при вызове ее в цикле мы добавлялся +1.
В цикле может быть несколько функций. Которые вызываются в разных временных промежутках. То есть счетчик должен быть уникален для каждой функции.
  • Вопрос задан
  • 760 просмотров
Решения вопроса 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
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dasha_programmist
@dasha_programmist
ex Software Engineer at Reddit TS/React/GraphQL/Go
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 18:38
1500 руб./в час
19 апр. 2024, в 18:36
1500 руб./за проект
19 апр. 2024, в 18:36
30000 руб./за проект