Goプログラムの実行方法と画面に文字列を表示させよう![Go言語入門]

今回は初めての Go言語プログラムということで、プログラムの書き方と実行方法をご紹介し、プログラムの内容は画面に文字を表示させるものとなっています。

コンテンツの転載は固くお断りいたします。

プログラムを書く前に

プログラムコードはコンピューターで処理したい事を書いた『手続き書』みたいなもので、人間が見やすく読みやすく理解しやすいものとなっています。

しかし、それはコンピューターが直接理解出来るものではないため、そのコードをコンピューターが理解できるものへと変換するために、その環境を用意する必要があります。その用意する方法(インストール)については Go言語環境のインストール方法 を見て、手順に従ってインストールしてみて下さい。

開発環境・エディター

Go言語コードを書くエディターとして Visual Studio Code を使うのをオススメします。初心者の方でも使いやすく、コーディングを効率化します。紹介は『Go言語での開発もこれで楽々!Visual Studio Code をご紹介!』の記事でしましたので、よければご覧ください。

コードを書くファイルの作成と場所

今回作成プログラムは『main.go』という名前で作成したファイルの中にコードを書いていきます。

ファイルの場所は上の写真のように、ホームフォルダの中に『go』というフォルダを作成し、更に goフォルダの中に『src』フォルダを作成します。最後に srcフォルダの中に『Sample』というフォルダを作成しています。

コードを書く

では、main.go をテキストエディタや Visual Studio Code などで開いて、以下のコードをそのまま書いてみて下さい。


package main

import "fmt"

func main() {
	fmt.Println("初めてのGo言語プログラム!")
}

Visual Studio Code でコードを書く場合

Visual Studio Code を使用する場合は、上の写真のように起動させて、起動させて表示される画面から『フォルダーを開く…』をクリックして先程作成した『Sample』フォルダを開きます。

開いたら以下の画面から『main.go』にコードを書き込んでいきます。

コードを実行する

コードを保存したら端末、コンソール、ターミナルなどを起動し、『cd』コマンドを使って Sample フォルダへと移動し、以下のコマンドを入力して実行させてみましょう。


go run main.go

そして、画面に以下のような文字が表示されたら、初めての Go言語プログラムは成功です。

初めてのGo言語プログラム!

コードの解説

では、なぜ今回のコードを実行すると画面に『初めてのGo言語プログラム!』と表示されたのか、それについての解説と、Go言語プログラムの最低限の書き方についてご紹介していきます。

似た機能は1つの『パッケージ』にまとめよう


package main

プログラムに使用するファイルはいくつあっても構いませんが、それぞれのファイルの先頭行には必ず『パッケージ』の名前を宣言します。このファイルが何のパッケージなのかを決めておくのです。

パッケージ名の宣言方法は、1行目に『package パッケージ名』を書きます。今回の例ですと『package main』を1行目に書き込んでおきます。

こうすることで、main.go というファイルは『main パッケージ』であることが分かります。

最初に実行して欲しい処理があるパッケージは、名前を『main』にする

プログラムは『go run main.go』とコマンドを入力して実行させましたが、もしパッケージが複数あったらどれを指定したら良いのでしょうか?

また、どこから実行したら良いのか、それをコンピューターに伝える方法はあるのでしょうか。

Go言語では、最初に実行して欲しいコードが含まれるパッケージの名前は『main』にするという決まりがあります。

必要な機能を『インポート』する


import "fmt"

画面に文字列を表示させるのは1つの機能です。その機能を自分のプログラムに取り込んで(インポート)おかなければ、文字列を画面に表示したりは出来ません。

機能をインポートするためには、パッケージ名を宣言した行の下に『import "必要な機能名"』と書いておくことで出来ます。

必要な機能名とはパッケージ名のことであり、名前は『"』で囲っておきます。今回は『fmt』というものをインポートしています。

パッケージは、まとまった機能の集まり

例えば、メールの操作に関するいくつかの機能をまとめた『package mail』というものを考えてみましょう。

mainパッケージにはどんな機能が含まれるでしょうか?『メールの送信』『メールの受信』『下書き保存』『メールの削除』などがありますね。

このように、似た機能は1つのパッケージにまとめておくと便利です。fmtパッケージも画面に文字列を表示させたり、ユーザーが入力した文字列を読み込んだりする機能を1まとめにしたものです。

最初に実行する『関数』を宣言する


func main() {
	fmt.Println("初めてのGo言語プログラム!")
}

1つの機能について書いたコードの集まりを『関数』と呼びます。

今回は簡潔に説明しますが、関数の宣言方法は『func 関数名()』と書きます。そして、最初に実行して欲しい関数の名前は『main』とします。

こうすることで『go run main.go』として実行した時に、mainパッケージ内の main関数がコンピューターから呼び出され、実行開始と直後に処理されます。

関数の中に処理したいコードを書くことが出来て、コードは『{ }』で囲みます。その中がその関数の処理部分となります。

文字列を表示させるコード


fmt.Println("初めてのGo言語プログラム!")

上記の1行で画面に文字列を表示させることが出来ます。左側から順に見ていきましょう。

最初の『fmt』はどこかで見たことがありますね?そうです。最初の方でご紹介した『fmt』パッケージです。

パッケージは機能の集まりだとご紹介しましたが、その機能の中には関数も含まれており、パッケージ内の関数を呼び出す(機能を使用する)際は、パッケージ名に『.』で繋げて、次に使用する関数名を指定します。今回の例では『fmt.Println』(パッケージ名.関数名)となります。

関数に必要な『データ』を渡す

main関数も関数の1つでありますが、この関数は何もデータが渡されていなくても動作が可能です。

しかし、画面に文字列を表示させる『fmt.Println』を使用するのであれば、表示させたい文字列を渡してあげる必要があります。

この渡すデータを『引数』と呼び、複数渡すことも可能です。今回は『初めてのGo言語プログラム!』という文字列を渡しています。

渡しているデータは文字列そのものですので、文字列を『"』で囲んで文字列であることを宣言しています。

さいごに

少し長くなってしまいましたが、Go言語入門の手助けになれば幸いです。