開発環境
- macOS Mojave - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Go (プログラミング言語)
プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES) (Alan A.A. Donovan(著)、Brian W. Kernighan(著)、柴田 芳樹(翻訳)、丸善出版)の第3章(基本データ型)、3.6(定数)、3.6.1(定数生成器 iota)、練習問題3.13の解答を求めてみる。
コード
package main import "fmt" func main() { const ( KB = 1 << (10 * (iota + 1)) MB GB TB PB EB ZB YB ) // int型にしたら、ZBとYBについて、 // # command-line-arguments // ./sample13.go:22:13: constant 1180591620717411303424 overflows int // ./sample13.go:23:13: constant 1208925819614629174706176 overflows int // というエラーに // とりあえずfloat64型に units := []float64{KB, MB, GB, TB, PB, EB, ZB, YB} for _, unit := range units { fmt.Println(unit) } }
入出力結果(cmd(コマンドプロンプト)、Terminal)
C:\Users\...>go run sample13.go 1024 1.048576e+06 1.073741824e+09 1.099511627776e+12 1.125899906842624e+15 1.152921504606847e+18 1.1805916207174113e+21 1.2089258196146292e+24 C:\Users\...>
0 コメント:
コメントを投稿