panicとrecoverによるHello world

「プログラミング言語Go」の練習問題5.19「return文を含んでいないのに、ゼロ値ではない値を返す関数をpanicrecoverを使って書きなさい」の解答として、panicrecoverを使った Hello worldプログラムを作りました。

続きを読む

フルカラーのマンデルブロ集合の描画

「プログラミング言語Go」の練習問題3.5である、フルカラーの マンデルブロ集合(Mandelbrot set) を描画するプログラムを作成しました。元のプログラムで使われているcolor.Gray同様、color.RGBA型も引数がuint8なので、uint8型のインデックスでループをしています。

続きを読む

高さに基づくポリゴンの色付け

「プログラミング言語Go」の練習問題3.3の解答を作成しました。「gopl.io/ch3/surface」に、ポリゴンの中心点の高さに基づいて色を返す関数を追加して、SVGの polygon のところに style=\"fill: #%v; storoke: black;\" を追加したものです。

続きを読む

卵パック風図形の描画

「プログラミング言語Go」の練習問題3.2の解答として、卵パック風図形を描画するプログラムを作成しました。「gopl.io/ch3/surface」のプログラムの関数fのところと、「zscale」のところを変更したものです。特に難しいテクニックなどは使わずに、結構うまくできたと思います。

続きを読む

Golangでのベンチマークテストの書き方

「プログラミング言語Go」の練習問題1.3の解答を作成してみました。スライスに含まれる文字列(strings)を連結する方法として、ループによる方法と strings.Join を使う方法のそれぞれの実行時間を計測するため、ベンチマークテストを作成します。コードは以下の通りです。(main.go の方の main関数は、ベンチマークテストには不要です。)

続きを読む

リサジュー図形の描画

Go言語(Golang)のバイブル「プログラミング言語Go」の「1.4 GIFアニメーション」の練習問題1.6 にある、リサジュー図形 をカラフルに生成するプログラムを作成しました。結構シンプルに作成することができます。

続きを読む