28 строки
702 B
Go
28 строки
702 B
Go
|
// Пакет tempconv выполняет преобразование температур.
|
||
|
package tempconv
|
||
|
|
||
|
import "fmt"
|
||
|
|
||
|
type Celsius float64
|
||
|
type Fahrenheit float64
|
||
|
type Kelvin float64
|
||
|
|
||
|
// Константы температур по Цельсию
|
||
|
const (
|
||
|
AbsoluteZeroC Celsius = -273.15 // Абсолютный нуль
|
||
|
FreezingC Celsius = 0 // Температура замерзания воды
|
||
|
BoilingC Celsius = 100 // Точка кипения воды
|
||
|
)
|
||
|
|
||
|
func (c Celsius) String() string {
|
||
|
return fmt.Sprintf("%g°C", c)
|
||
|
}
|
||
|
|
||
|
func (f Fahrenheit) String() string {
|
||
|
return fmt.Sprintf("%g°F", f)
|
||
|
}
|
||
|
|
||
|
func (k Kelvin) String() string {
|
||
|
return fmt.Sprintf("%g°K", k)
|
||
|
}
|