This product is not supported for your selected Datadog site. ().
이 페이지는 아직 영어로 제공되지 않습니다. 번역 작업 중입니다. 현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우 언제든지 연락주시기 바랍니다.
Metadata
ID:go-best-practices/time-now-sub
Language: Go
Severity: Info
Category: Best Practices
Description
Go’s time package provides functions and methods for working with dates and times. When calculating the duration between a specific time and the current time, it is recommended to use the time.Since(x) function instead of time.Now().Sub(x).
Here are a few reasons why:
Readability: The time.Since(x) function conveys the intention of calculating the duration since a specific time x in a straightforward manner. It’s more readable and easier to understand than chaining time.Now().Sub(x), which requires reading the code from right to left.
Performance: Using time.Since(x) avoids the unnecessary creation of an intermediate time.Time value with time.Now(). By directly calculating the time duration since x, you eliminate the overhead of the additional function call and improve performance.
Consistency: The time.Since(x) function provides a consistent and idiomatic way of calculating the duration since a specific time. It follows the design principles of the standard library and promotes best practices for Go code.
For example, consider the following code snippets:
Output: The duration between the current time and March 20, 2022.
Both snippets achieve the same result, but the second one using time.Since(x) is preferred for its simplicity, readability, and performance.
By using time.Since(x) instead of time.Now().Sub(x), you can write more concise and idiomatic Go code, improving readability and maintaining consistency with the standard library.
Non-Compliant Code Examples
funcmain(){x:=time.Now().Sub(x)}
Compliant Code Examples
funcmain(){x:=time.Since(x)}
원활한 통합. Datadog Code Security를 경험해 보세요
Datadog Code Security
이 규칙을 사용해 Datadog Code Security로 코드를 분석하세요
규칙 사용 방법
1
2
rulesets:- go-best-practices # Rules to enforce Go best practices.
리포지토리 루트에 위의 내용을 포함하는 static-analysis.datadog.yml을 만듭니다
무료 IDE 플러그인을 사용하거나 CI 파이프라인에 Code Security 검사를 추가합니다