Go에서 `time.Sleep` 사용법
Min-jun Kim
Dev Intern · Leapcell

Key Takeaways
time.Sleep
은 지정된 기간 동안 현재 고루틴을 일시 중지합니다.time.Second
및time.Millisecond
와 같은 미리 정의된 시간 상수를 사용합니다.- 전체 프로그램이 아닌 호출 고루틴에만 영향을 줍니다.
Go 프로그래밍에서 코드 실행 타이밍을 관리하는 것은 속도 제한, 스케줄링 및 지연 시뮬레이션과 같은 작업에 필수적입니다. time
패키지는 현재 고루틴의 실행을 지정된 기간 동안 일시 중지하는 Sleep
함수를 제공합니다.
time
패키지 가져오기
time.Sleep
을 사용하려면 먼저 time
패키지를 가져와야 합니다.
import "time"
time.Sleep
의 구문
Sleep
함수는 다음과 같은 구문을 가집니다.
func Sleep(d Duration)
d
매개변수는 절전 간격의 지속 시간을 나타냅니다. Duration
유형은 int64
의 유형 별칭이며 경과 시간을 나노초 단위로 나타냅니다.
기간 지정
Go는 기간을 지정하기 위해 time
패키지에 미리 정의된 상수를 제공합니다.
time.Nanosecond
(ns)time.Microsecond
(µs)time.Millisecond
(ms)time.Second
(s)time.Minute
(m)time.Hour
(h)
이러한 상수를 사용하여 원하는 절전 지속 시간을 설정할 수 있습니다. 예를 들어 2초 동안 절전하려면 다음과 같이 합니다.
time.Sleep(2 * time.Second)
예제: 실행 일시 중지
다음은 time.Sleep
의 사용법을 보여 주는 간단한 예제입니다.
package main import ( "fmt" "time" ) func main() { fmt.Println("Start") time.Sleep(3 * time.Second) fmt.Println("End") }
이 프로그램에서 "Start"가 출력되고 실행이 3초 동안 일시 중지된 다음 "End"가 출력됩니다.
고려 사항
-
고루틴 일시 중단:
time.Sleep
은 전체 프로그램이 아닌 현재 고루틴만 일시 중지합니다. 다른 고루틴은 영향을 받지 않고 계속 실행됩니다. -
정확도: 시스템 스케줄링 및 시스템 클록의 정확도와 같은 요인으로 인해 실제 절전 지속 시간이 지정된 시간보다 길어질 수 있습니다.
-
대안: 보다 고급 타이밍 제어를 위해
time.Ticker
또는time.Timer
를 사용하는 것이 좋습니다.
결론
time.Sleep
함수는 Go 프로그램에서 지연을 도입하는 간단한 방법입니다. 적절한 기간을 지정하면 코드 실행 타이밍을 효과적으로 제어할 수 있습니다.
FAQs
아니요, 현재 고루틴만 일시 중단합니다.
time.Nanosecond
, time.Millisecond
, time.Second
등을 사용할 수 있습니다.
아니요, 더 정확한 제어를 위해서는 time.Ticker
또는 time.Timer
가 선호됩니다.
Leapcell은 Go 프로젝트 호스팅을 위한 최고의 선택입니다.
Leapcell은 웹 호스팅, 비동기 작업 및 Redis를 위한 차세대 서버리스 플랫폼입니다.
다국어 지원
- Node.js, Python, Go 또는 Rust로 개발하십시오.
무제한 프로젝트를 무료로 배포
- 사용량에 대해서만 비용을 지불하십시오. 요청도 없고 요금도 없습니다.
탁월한 비용 효율성
- 유휴 요금 없이 사용량에 따라 지불합니다.
- 예: $25는 평균 응답 시간 60ms에서 694만 건의 요청을 지원합니다.
간소화된 개발자 경험
- 간편한 설정을 위한 직관적인 UI.
- 완전 자동화된 CI/CD 파이프라인 및 GitOps 통합.
- 실행 가능한 통찰력을 위한 실시간 지표 및 로깅.
손쉬운 확장성과 고성능
- 쉬운 고 동시성을 처리하기 위해 자동 확장됩니다.
- 제로 운영 오버헤드 - 구축에만 집중하십시오.
설명서 에서 자세히 알아보십시오!
X에서 우리를 따르십시오: @LeapcellHQ