2019年6月14日金曜日

開発環境

Head First Go (Jay McGavren(著)、O'Reilly Media)のChapter 9(you're my type - Defined Types)、Exercise(284)の解答を求めてみる。

コード

package main

import "fmt"

type Liters float64
type Milliliters float64
type Gallons float64

func (l Liters) ToMilliliters() Milliliters {
 return Milliliters(l * 1000)
}
func (m Milliliters) ToLiters() Liters {
 return Liters(m / 1000)
}
func main() {
 l := Liters(3)
 fmt.Printf("%0.1f liters is %0.1f milliliters\n", l, l.ToMilliliters())
 ml := Milliliters(500)
 fmt.Printf("%0.1f milliliters is %0.1f liters\n", ml, ml.ToLiters())
}

入出力結果(Bash、cmd.exe(コマンドプロンプト)、Terminal)

$ go run sample3.go
3.0 liters is 3000.0 milliliters
500.0 milliliters is 0.5 liters
$ 

0 コメント:

コメントを投稿