mod tempconv0 ch2.5
Этот коммит содержится в:
родитель
5dfebeee54
Коммит
e5715d759c
@ -18,8 +18,26 @@ const (
|
||||
func CToF(c Celsius) Fahrenheit { return Fahrenheit(c*9/5 + 32) }
|
||||
func FToC(f Fahrenheit) Celsius { return Celsius((f - 32) * 5 / 9) }
|
||||
|
||||
func (c Celsius) String() string { return fmt.Sprintf("%g°C", c) }
|
||||
|
||||
func main() {
|
||||
fmt.Printf("%g\n", BoilingC)
|
||||
fmt.Printf("%g\n", BoilingC-FreezingC) // 100
|
||||
boilingF := CToF(BoilingC)
|
||||
fmt.Printf("g%\n", boilingF)
|
||||
fmt.Printf("%g\n", boilingF-CToF(FreezingC)) // 180
|
||||
//fmt.Printf("%g\n", boilingF-FreezingC) // Ошибка компиляции: несоответствие типов
|
||||
|
||||
var c Celsius
|
||||
var f Fahrenheit
|
||||
fmt.Println(c == 0) // true
|
||||
fmt.Println(f >= 0) // true
|
||||
//fmt.Println(c == f) // Ошибка компиляции: несоответствие типов
|
||||
fmt.Println(c == Celsius(f)) // true ! потому что c и f равны 0
|
||||
|
||||
c = FToC(212.0)
|
||||
fmt.Println(c.String()) // 100°C
|
||||
fmt.Printf("%v\n", c) // 100°C; явный вызов String не нужен
|
||||
fmt.Printf("%s\n", c) // 100°C; явный вызов String не нужен
|
||||
fmt.Println(c) // 100°C; явный вызов String не нужен
|
||||
fmt.Printf("%g\n", c) // 100; не вызывает String
|
||||
fmt.Println(float64(c)) // 100; не вызывает String
|
||||
}
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user