fracción de tiempo duración de sueño en go
pregunta:
¿por qué el siguiente código vaya a dormir con éxito durante una fracción de duración, mientras que el segundo fallas? S: = Tiempo. Hour / 73.0 fmt.println ("durmiendo:", s) tiempo. Duerme (s) // Falla D: = 73.0 s: = tiempo. hora / D fmt.println ("durmiendo:", s) tiempo. Duerme (s) // Error: Operación no válida: Time.Hour / D (TISE MISMACHED TIME.Duration y Float64)
// 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)Respuesta:
La diferencia se encuentra en el tipo de Divisor en cada línea:
[&]
exitoso:d: = Time.duration (73.0)
s := time.Hour / time.Duration(d)
[&] para valores que no se pueden representar en el tiempo. debe convertirse en float64:
d := 73.5 s := time.Duration(float64(time.Hour) / d)constantes como tiempo. tipos.
Untyped Constants:
constantes sin typed toman el tipo de contexto en el que se usan. tipos.Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3