Go言語_プログラムの作成

hello worldプログラム

ソースコード

Go言語ではソースファイルの拡張子は「.go」とします。

例えば「hello.go」というようにファイルを命名します。


package main

import "fmt"

func main(){
    fmt.Printf("hello world!\n")
}

パッケージについて

Go言語では、名前空間を分けるための仕組みとしてパッケージを使用します。

プログラムの先頭にパッケージ名を定義します。

「main」パッケージは、ライブラリではなく単独で動作するプログラムを定義します。


importについて

Go言語では、いわゆる標準ライブラリを用いる場合に、対象パッケージをimportしていきます。

パッケージについてドキュメントを確認するには、「godoc」コマンドを使用します。

例えばfmtパッケージのドキュメントが見たければ、次のように実行します。


$ godoc fmt

ブラウザでドキュメントを確認したい場合は次のように実行します。


$ godoc -http=":8080"

httpサーバが起動しますので、http://localhost:8080/にアクセスするとドキュメントを確認できます。


Goの標準書式

Goではソースコードを標準書式に書き換えるツールが用意されています。

本ツールを用いることで書式を統一することができます。


gofmt hello.go

成形した書式で上書きする場合は「-w」オプションを指定します。


gofmt -w hello.go

コンパイル

ソースコードを実行確認する場合には以下のコマンドを実行します。


$ go run hello.go

バイナリファイルを生成する場合には以下のコマンドを実行します。


$ go build hello.go


プロジェクトの作成

Go言語では、複数のファイル・パッケージを扱うためのプロジェクト構成について指針が示されています。


ディレクトリ構成

プロジェクト名のディレクトリを以下のように作成します。

パッケージ毎にディレクトリを作成します。


└─project01
    ├─bin
    ├─pkg
    └─src
        ├─main
        │      main.go
        │
        └─testpkg
                testpkg.go

ディレクトリ名 意味・役割
bin コンパイルで生成されたバイナリファイル格納先
pkg 依存パッケージのオブジェクトファイル格納先
src ソースコードの格納先

GOPATH環境変数

projectディレクトリのパスをGOPATHという環境変数に指定します。
GOPATH環境変数を起点にしてビルドや設定が自動化されます。


(linuxの場合)
$ export GOPATH=/tmp/project01 

(windowsの場合)
> set GOPATH=c:\project01

ビルド

go installコマンドを用いてプロジェクトをビルドします。
ビルドする時には「main.go」が存在するディレクトリに移動する必要があります。


$ cd $GOPATH/src/main
$ go install

生成されたファイルが$GOPATH/binに自動的に格納されます。


└─project01
    ├─bin
    │      main.exe
    │
    ├─pkg
    │  └─windows_amd64
    │          testpkg.a
    │
    └─src
        ├─main
        │      main.go
        │
        └─testpkg
                testpkg.go



関連ページ