"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Go의`time.sleep ()`분수 기간을 일정한 유형에 따라 다르게 처리하는 이유는 무엇입니까?

Go의`time.sleep ()`분수 기간을 일정한 유형에 따라 다르게 처리하는 이유는 무엇입니까?

2025-03-23에 게시되었습니다
검색:954

Why Does Go's `time.Sleep()` Handle Fractional Durations Differently Based on Constant Type?

시간 수면 시간의 분수

// Success
s := time.Hour / 73.0
fmt.Println("sleeping: ", s)
time.Sleep(s)

// Failure
d := 73.0
s := time.Hour / d
fmt.Println("sleeping: ", s)
time.Sleep(s)

// Error: invalid operation: time.Hour / d (mismatched types time.Duration and float64)

  • S : = 시간. 시간 / 73.0 fmt.println ( "수면 :", s) Time.sleep (S) // 실패 D : = 73.0 S : = 시간. 시간 / d fmt.println ( "수면 :", s) Time.sleep (S) // 오류 : 유효하지 않은 작동 : 시간. 시간. 표현 시간에 시간에 적응합니다. 시간에 적응하십시오. 시간. 시간. time.daturan (d)
  • 또는 다음의 대안적인 방법 중 하나를 사용하십시오 :

d : = time.duration (73.0)
// Success
s := time.Hour / 73.0
fmt.Println("sleeping: ", s)
time.Sleep(s)

// Failure
d := 73.0
s := time.Hour / d
fmt.Println("sleeping: ", s)
time.Sleep(s)

// Error: invalid operation: time.Hour / d (mismatched types time.Duration and float64)
var d time.dation = 73.0

// Success
s := time.Hour / 73.0
fmt.Println("sleeping: ", s)
time.Sleep(s)

// Failure
d := 73.0
s := time.Hour / d
fmt.Println("sleeping: ", s)
time.Sleep(s)

// Error: invalid operation: time.Hour / d (mismatched types time.Duration and float64)

. float64 : d : = 73.5 s : = time.duration (float64 (time.hour) / d)

  • 추가 고려 사항 :
  • Untypled 상수 :
  • Untyped 상수는 그들이 사용되는 컨텍스트의 유형을 취합니다. 첫 번째 줄에서는 시간에 73.0 적응을 시간에 적응합니다. 유형.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3