예제 #1
0
파일: cf.go 프로젝트: k4rtik/gopl
func main() {
	for _, arg := range os.Args[1:] {
		t, err := strconv.ParseFloat(arg, 64)
		if err != nil {
			fmt.Fprintf(os.Stderr, "cf: %v\n", err)
			os.Exit(1)
		}
		f := tempconv.Fahrenheit(t)
		c := tempconv.Celsius(t)
		fmt.Printf("%s = %s, %s = %s\n", f, tempconv.FToC(f), c, tempconv.CToF(c))
	}
}
예제 #2
0
파일: uc.go 프로젝트: k4rtik/gopl
func main() {
	input := strings.Join(os.Args[1:], " ")
	if len(os.Args) == 1 {
		iscanner := bufio.NewScanner(os.Stdin)
		iscanner.Scan()
		input = iscanner.Text()
	}
	for _, arg := range strings.Split(input, " ") {
		t, err := strconv.ParseFloat(arg, 64)
		if err != nil {
			fmt.Fprintf(os.Stderr, "unitconv: %v\n", err)
			os.Exit(1)
		}
		f := tempconv.Fahrenheit(t)
		c := tempconv.Celsius(t)
		ft := unitconv.Feet(t)
		m := unitconv.Meters(t)
		p := unitconv.Pounds(t)
		k := unitconv.Kilograms(t)
		fmt.Printf("%s = %s, %s = %s\n", f, tempconv.FToC(f), c, tempconv.CToF(c))
		fmt.Printf("%s = %s, %s = %s\n", ft, unitconv.FToM(ft), m, unitconv.MToF(m))
		fmt.Printf("%s = %s, %s = %s\n", p, unitconv.PToK(p), k, unitconv.KToP(k))
	}
}