演習3

パッケージtextboxを用いて,画面に文字列を表示するプログラムを作成せよ.

例えば,"The Go programming language is an open source project.”など

解答例

  1. package main
  2. import "./textbox"
  3. func main() {
  4. textbox.Clear()
  5. t1 := textbox.New(3,3,70,4)
  6. t1.Puts("The Go programming language is an open source project.”)
  7. t2 := textbox.New(3,8,70,4)
  8. t2.Putc('X')
  9. t2.PutRune('ご')
  10. t3 := textbox.New(3,13,70,4)
  11. t3.Puts("日本語も大丈夫")
  12. }

解説

パッケージの利用

  • 自作のパッケージなど,組込み以外のパッケージを利用する場合は,そのパッケージのがあるディレクトリとともにパッケージ名を指定します.
  • 解答例では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を生成し,"日本語も大丈夫"を表示.