演習3
パッケージtextboxを用いて,画面に文字列を表示するプログラムを作成せよ.
例えば,"The Go programming language is an open source project.”など
解答例
解答例
- package main
- import "./textbox"
- func main() {
- textbox.Clear()
- t1 := textbox.New(3,3,70,4)
- t1.Puts("The Go programming language is an open source project.”)
- t2 := textbox.New(3,8,70,4)
- t2.Putc('X')
- t2.PutRune('ご')
- t3 := textbox.New(3,13,70,4)
- t3.Puts("日本語も大丈夫")
- }
解説
解説
パッケージの利用
- 自作のパッケージなど,組込み以外のパッケージを利用する場合は,そのパッケージのがあるディレクトリとともにパッケージ名を指定します.
- 解答例では2行目で,textboxパッケージ(textbox.go)が,このソースコードがあるディレクトリのサブディレクトリ(./textbox)にあることを前提に相対パスでパッケージをインポートしています.
- mainパッケージがあるディレクトリを"."とすると,textboのソースファイルを "./textbox/textbox.go"において,mainパッケージをコンパイルします.
- パッケージで定義された関数や型,定数などは,パッケージ名を付けて参照します.
- 例えば,5行目の textbox.Clear().7,10,14行目のtextbox.New() では,それぞれ,textbox パッケージの Clear() という関数,Newという関数を呼び出しています.
- パッケージは元の名前とは別の名前を付けてインポートすることもできます.
- 例えば,2行目を import tb "./textbox" とすると,パッケージをtextboxではなくtbという識別子で参照出来るようになります.tb.Clear(), tb.New(), など.
プログラムの動作
- 5行目でディスプレー全体をクリア
- 7行目,8行目でTextBoxを生成し,"The Go programming language is an open source project.”を表示.
- 10行目,11行目,12行目で別のTextBoxを生成し,'X' と 'ご' を表示.
- 14行目,15行目で更に別のTextBoxを生成し,"日本語も大丈夫"を表示.