time.Time의 예기치 않은 출력: "m= " 문자열 이해하기
Go 프로그램이 time.Now() 함수를 실행할 때 , 현재 타임스탬프를 검색합니다. 이 타임스탬프의 기본 출력은 특히 Go 1.9가 출시되면서 시간이 지남에 따라 발전했습니다.
"m= " Enigma
Go의 이전 버전에서는 time .Now()는 다음 형식으로 문자열을 출력합니다.
2018-07-04 12:03:07.2911671 +0530 IST
그러나 Go 1.9 이상에서는 신비한 "m= " 문자열을 포함하도록 출력이 확장되었습니다.
2018-07-04 12:03:07.2911671 +0800 +08 m=+0.002000201
왜 불일치합니까? 이는 Go 1.9에 단조 시계 지원이 추가되었기 때문입니다. "m= " 문자열은 프로그램 시작 이후의 단조 시간을 나타내며 부동 소수점 초 수로 표시됩니다.
Format()을 사용하여 예상치 못한 형식 방지
time.Now()의 기본 출력에 의존하는 대신 Format() 함수를 사용하여 타임스탬프에 대한 사용자 정의 형식을 지정하는 것이 좋습니다. 예:
import ( "fmt" "time" ) func main() { t := time.Now() fmt.Println(t.Format("2006-01-02 15:04:05.000000")) }
이것은 Go 버전에 관계없이 일관된 형식으로 타임스탬프를 출력합니다.
2018-07-04 12:03:07.2911671
Format()을 사용하면 프로그램이 항상 출력되도록 할 수 있습니다. 예상하는 형식의 타임스탬프입니다.
위 내용은 Go의 `time.Now()` 출력에 최신 버전의 'm='이 포함되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!