第2回 GoのPrint文、forループ、if文
赤坂 けい
チームWordProgress
2009/12/24
突然登場した新しいプログラミング言語「Go」。その独自性、魅力を余すところなく堪能してみよう(編集部)
Goをインストールする
今回は、いよいよGoのコードを学んでいこう。
はじめに、Goのインストール方法について。
オープンソースプロジェクトであるGoの本家サイトでは、LinuxおよびMac OSヘのインストール情報が提供されている。これは、有志の手により日本語訳も提供されている。
そのため、LinuxおよびMac OSへのインストールは比較的容易である(Windowsマシンでも、VMware Playerなどの仮想環境を動かし、その上でLinuxを動作させれば、同様にインストールすることができる)。そこで本稿では、LinuxおよびMac OSへのインストールについては、割愛させていただく。
一方、GoのWindows向けバイナリのインストール手法 (go-windows)は、コミュニティの手により提供されている。コンパイル済みのバイナリが提供されているため、導入は容易であるが、文字コードの問題(コマンドプロンプトでの日本語表示対応)が存在する。
現状のgo-windowsは、あくまで有志の手による仮移植である。ソースコードは同一であり、筆者が試した限りでは、命令などは完全に互換性があるが、ライブラリパッケージへの対応は不完全である。
例えば、time、httpといったパッケージはgo-windowsへインポートできない。こうした点は今後改善されていると期待されるが、本格的にGoでプログラミングしたいと考えている方は、LinuxやMac OSなどの環境を用意してGoをインストールすることをお勧めする。
とはいえ、「Goのひととおりの文法を、とりあえず試してみる」といった用途に、go-windowsは十分に応えてくれる。そうした用途のために、Windowsマシンへのインストール方法をまとめておこう。
なお、本連載では、特に注意書きのないかぎり、本家のGoとgo-windowsの双方で動作するソースコードを掲載していく。
Windowsマシンへのインストール
ここでは、WindowsマシンへのGoのインストール方法と注意点について、簡単にまとめておこう。筆者は、Windows XPとVistaで試している。Windows 7でも同様にインストールできると思われる。
準備作業
(以下の準備作業は、純粋にGoの文法のみに興味があり、日本語を表示しなくとも良い場合は省略できる)
Goが扱う文字コードは、基本的にUTF-8である。Windowsマシンのコマンドプロンプト(cmd.exe)はデフォルトでUTF-8には対応していないため、以下の2点を設定する必要がある。
- UTF-8表示のできるフォント(MSゴシックなど)の追加
- 文字コードをUTF-8に指定しての起動
まず、UTF-8表示のできるフォントをコマンドプロンプト表示に追加する方法について。フォントの追加は、Windowsのレジストリ(Windows OSが実行中に参照する必須情報)の書き換えを伴なう。そのため、操作ミスなどによるレジストリの損傷に備え、バックアップを取っておこう(マイクロソフトに よる簡易的なレジストリのバックアップ方法の解説)。
cmd.exeにフォントを追加する方法として、いったんコマンドプロンプトに入り、以下のレジストリコマンド(reg)をタイプするのがもっとも簡易的な方法だ。
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont" /v "0." /t "REG_SZ" /d "MS Gothic"
タイプ後、レジストリの更新を有効にするためには、コマンドラインの再起動が必要となる(フォントの追加がうまく行かない場合は、Windowsを再起動してほしい)。なお、追加されたフォントは、PowerShell 2.0でも使うことができる。
Goを用いる際のコマンドプロンプトの文字コードをUTF-8に設定する方法については、go-windowsを導入する際に同時に設定するのが効率的だ。
インストール手順
Windows向けのバイナリは、go-windowsのサイトからダウンロードできる(2009年12月22日現在のバージョンはgo-1.zip)。設定方法は、以下のとおりとなる。
- ダウンロードしたgo-1.zipを適当なディレクトリに解凍する(ここでは、「D:\go-win」に解凍したものとする)
- 解凍先にコマンドプロンプトのショートカットを作成する(Vistaマシンでは、Windowsキーで現れるメニューから「コマンドプロンプト」を表示させ、解凍先のフォルダ(D:\go-win)へとドラッグすると良い)
- 作成したショートカットを右クリックし、以下の設定を行う
起動時の文字コードをUTF-8とするために、「リンク先」を「%SystemRoot%\system32\cmd.exe /f:on /k "chcp 65001"」と変更する。同時に「作業フォルダ」をソースコードの置き場に設定しておくと良いだろう(筆者の場合、D:\go-win\mysrc)
- 「コントロール パネル」→「システム」とたどり、「システムの詳細設定」タスクを開き、以下のとおりに環境変数を設定する。
変数 | 値 |
---|---|
GOROOT | 解凍先フォルダ(例 D:\go-win) |
GOOS | mingw |
GOARCH | 386 |
PATH | PATHの既存の値の末尾に、解凍先フォルダ直下のbinディレクトリ(例 D:\go-win\bin)を追加 ※PATHの既存の値を消去してしまわないよう注意しよう |
以上で設定は終了だ。
1/2 |
Index | |
GoのPrint文、forループ、if文 | |
Page1 Goをインストールする Windowsマシンへのインストール |
|
Page2 初めてのGoプログラム 2種類のforループと配列 if文と関数呼び出し |
新世代の並列処理言語Google Goをひもとく |
Coding Edgeお勧め記事 |
いまさらアルゴリズムを学ぶ意味 コーディングに役立つ! アルゴリズムの基本(1) コンピュータに「3の倍数と3の付く数字」を判断させるにはどうしたらいいか。発想力を鍛えよう |
|
Zope 3の魅力に迫る Zope 3とは何ぞや?(1) Pythonで書かれたWebアプリケーションフレームワーク「Zope 3」。ほかのソフトウェアとは一体何が違っているのか? |
|
貧弱環境プログラミングのススメ 柴田 淳のコーディング天国 高性能なIT機器に囲まれた環境でコンピュータの動作原理に触れることは可能だろうか。貧弱なPC上にビットマップの直線をどうやって引く? |
|
Haskellプログラミングの楽しみ方 のんびりHaskell(1) 関数型言語に分類されるHaskell。C言語などの手続き型言語とまったく異なるプログラミングの世界に踏み出してみよう |
|
ちょっと変わったLisp入門 Gaucheでメタプログラミング(1) Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう |
|
- プログラムの実行はどのようにして行われるのか、Linuxカーネルのコードから探る (2017/7/20)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る - エンジニアならC言語プログラムの終わりに呼び出されるexit()の中身分かってますよね? (2017/7/13)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、プログラムの終わりに呼び出されるexit()の中身を探る - VBAにおけるFileDialog操作の基本&ドライブの空き容量、ファイルのサイズやタイムスタンプの取得方法 (2017/7/10)
指定したドライブの空き容量、ファイルのタイムスタンプや属性を取得する方法、FileDialog/エクスプローラー操作の基本を紹介します - さらば残業! 面倒くさいエクセル業務を楽にする「Excel VBA」とは (2017/7/6)
日頃発生する“面倒くさい業務”。簡単なプログラミングで効率化できる可能性がある。本稿では、業務で使うことが多い「Microsoft Excel」で使えるVBAを紹介する。※ショートカットキー、アクセスキーの解説あり
|
|