[go] 시간을 활용하여 특정 시간에 작업 실행하기
일정한 시간에 작업을 실행하고 싶다면 Go 언어의 time
패키지를 활용할 수 있습니다. 이 패키지를 사용하여 특정 시간에 작업을 실행하는 방법을 살펴보겠습니다.
타이머 만들기
특정 시간에 작업을 실행하기 위해 타이머를 만들어야 합니다. time.After
함수를 사용하여 특정 시간이 경과한 후에 작업을 실행할 수 있도록 타이머를 설정할 수 있습니다.
package main
import (
"fmt"
"time"
)
func main() {
delay := 10 * time.Second
timer := time.After(delay)
<-timer
fmt.Println("작업을 실행합니다.")
}
위 예제에서는 10초 후에 “작업을 실행합니다.”라고 출력하는 간단한 예제를 보여줍니다.
주기적인 작업 실행하기
일정한 주기로 작업을 반복적으로 실행하고 싶다면 time.Ticker
를 사용할 수 있습니다. 아래 예제는 1초 간격으로 작업을 실행하는 방법을 보여줍니다.
package main
import (
"fmt"
"time"
)
func main() {
ticker := time.NewTicker(1 * time.Second)
done := make(chan bool)
go func() {
for {
select {
case <-done:
return
case <-ticker.C:
fmt.Println("주기적인 작업을 실행합니다.")
}
}
}()
time.Sleep(5 * time.Second)
ticker.Stop()
done <- true
fmt.Println("작업을 종료합니다.")
}
위 예제에서는 time.Ticker
를 사용하여 1초 간격으로 “주기적인 작업을 실행합니다.”라고 출력하고, 5초 후에 작업을 종료하는 방법을 보여줍니다.
마무리
이렇게 Go 언어의 time
패키지를 사용하여 특정 시간에 작업을 실행하거나 주기적으로 작업을 실행할 수 있습니다.
더 자세한 내용은 Go 언어 공식 문서를 참고할 수 있습니다.