Hello World!を出力してGoのプログラム構成を理解する

Go言語
この記事は約7分で読めます。
Go初学者
Go初学者

Go言語で”Hello World!”を出力するプログラムのコードを知りたいな。

この記事では、Go言語による”Hello World”の出力を知ることができます!
  • Go言語での”Hello World!”を出力するコードを理解できます
  • Go言語のプログラム構成の基本を理解できます
  • Go言語での簡易出力の方法について
  • Go言語の標準パッケージについて
  • Go言語でのコメント記述方法について

プログラミング言語を習得する時にお決まりの”Hello World!”を出力するプログラムコードを、Go言語学習の一歩目として理解しましょう。

“Hello World!”を出力するプログラムコードを用いて、Go言語のプログラム構成の基本も学んでいきます。

Go言語はプログラムコードを書く楽しさを教えてくれるプログラミング言語のひとつだと私は感じています。

あなたもGo言語習得の一歩を踏み出しましょう!

もりぴ
この記事を書いた人

XHTML1.0時代にHTML&CSSを勉強した経験あり。無趣味だった私が2020年5月からプログラミング学習を開始し現在も挫折せずに趣味で学習を楽しんでいる51歳。プログラミングの楽しさをブログを通してお伝えしていきます。

もりぴをフォローする

Go言語で”Hello World!”を出力するプログラムコード

早速、Go言語で”Hello World”を出力するプログラムコードを紹介します。

// Hello World!を出力
package main

import "fmt"

func main() {
    fmt.Println("Hello World!")
}
もりぴ
もりぴ

これだけだと何だかわかりませんよね?

それでは、”Hello World”を出力するプログラムコードを使って、Go言語のプログラム構成の基本的なことをお伝えしていきましょう。

Go言語の拡張子について

Go言語のファイルの拡張子は .go です

当ブログのファイル名は基本的にmain.goを使用します。

Go言語のプログラム構成の基本

Go言語のプログラム構成をひとつづつ見ていきましょう。

もりぴ
もりぴ

この記事では、あまり突っ込んだ内容まで踏み込みません。

パッケージの宣言

Go言語のプログラムはパッケージ宣言から始まります。

今回のプログラムでは package main となっています。

package mainで宣言されたファイルはメインパッケージに関するプログラムであると宣言しており、Go言語で書かれたプログラムは「package mainと宣言したmain関数からスタートする」ことになっています。

パッケージ宣言は1つのファイルに1つのパッケージ宣言しかできません。

// Hello World!を出力
// パッケージの宣言
// パッケージの宣言は1ファイルで1つのみ宣言
package main

import "fmt"

func main() {
    fmt.Println("Hello World!")
}

main関数

プログラムの本体(エントリーポイント)で、実際に実行されるプログラムはメインパッケージのmain関数の中と決まっています。

// Hello World!を出力
// パッケージの宣言
// パッケージの宣言は1ファイルで1つのみ宣言
package main

import "fmt"

// main関数
func main() {
    // main()関数の{}の中に実行するプログラムを記述する

    fmt.Println("Hello World!")
}

パッケージのインポートと”Hello World!”の出力

プログラムに使用するパッケージ(コードの集合体)の宣言をします。

今回のプログラムで使用しているパッケージは標準パッケージのfmtです。

MEMO

今回使用する標準パッケージは出力に関するパッケージfmtは、フォーマットパッケージと呼ばれており、出力に関する関数が使用できるパッケージです。

HelloWorldのプログラムでは fmt.Println が使用されており Println は渡したデータを改行付きで出力する関数です。

// Hello World!を出力
// パッケージの宣言
// パッケージの宣言は1ファイルで1つのみ宣言
package main

// importで宣言することで、Go言語で用意している標準パッケージが利用できる
// fmt:フォーマットパッケージ 宣言することで出力用関数のパッケージが使用できる
import "fmt"

// main関数
func main() {
    // main()関数の{}の中に実行するプログラムを記述する

    // Printlnは改行付きで出力する関数
    fmt.Println("Hello World!")
}
HINT

パッケージのimport宣言ですが、当ブログのGo言語環境構築でインストールした依存パッケージで自動補完されます。

もりぴ
もりぴ

依存パッケージがインストールされていれば、わざわざimport宣言する必要はありませんよ。

Go言語の標準パッケージを確認するには

Go言語公式サイトにて、標準パッケージを確認できます。

Go言語のプログラムを実行してみよう(簡易的な方法で)

では、”Hello World”を出力する、Go言語のプログラムファイルを実行してみましょう。

POINT
Goファイルを実行する方法2つ
  • goファイルをコンパイルする方法
  • 簡易的にGoで用意されているコマンドで実行(今回はこっち)
もりぴ
もりぴ

当ブログでは簡易的な実行方法を使用していきます。

Windowsの方はコマンドプロンプト、Mac・Linuxの方はターミナルを開いて go run main.go とコマンドを入力して実行しましょう。

// 出力結果
$ go run main.go 
Hello World!
もりぴ
もりぴ

go run main.go は、これから頻繁に使いますよ!

Go言語のプログラムファイルにコメントを残す

プログラムファイル内に、メモやメッセージを残す時に重宝するのがコメントです。

他のプログラミング言語同様に、コメントで記述された部分はプログラム実行時に無視されます。

MEMO
Go言語でのコメントを残す場合は…
  • 1行コメントの場合は文頭に // をつける
  • 複数行のコメントは文章を /* */ で囲む
/*
複数行のコメントを残す場合
HelloWorld!を出力
パッケージの宣言
パッケージの宣言は1ファイルで1つのみ宣言
*/
package main

import "fmt"

// main関数
func main() {
    // 1行のみコメントの場合

    // Printlnは改行付きで出力する関数
    fmt.Println("Hello World!")
}

【参考】文字列を結合して出力

参考までに文字列を結合して出力する方法もご紹介いたします。

今回は”Hello World!”と一行で記述して出力しましたが、”Hello” + “World”とわけて結合して文字列を出力してみましょう。

もりぴ
もりぴ

「,(カンマ)」区切りで結合できます!

// Hello World!を出力
package main

import "fmt"

// main関数
func main() {
    // 今回のご紹介した方法
    fmt.Println("Hello World!")

    // 文字列を結合して出力する方法
    fmt.Println("Hello", "World!")
    fmt.Println("Hello", "World!", "Golang")
}
// 出力結果
$ go run main.go 
Hello World!
Hello World!
Hello World! Golang

【まとめ】Go言語で”Hello World”を出力とプログラム構成の基本

もりぴ
もりぴ

それでは、今回の内容のまとめてみましょう!

本記事の内容をまとめます!
  • Go言語で”Hello World”の出力方法を理解できた
  • Goのプログラムファイルはパッケージ宣言からスタートする
  • パッケージ宣言は1つのファイルで1パッケージのみ
  • mainパッケージのmain関数の中のコードが実行される
  • 使用する標準パッケージなどはimport宣言して使用する
  • Goファイルの実行にはコンパイルとGoが用意したコマンドでの実行がある
  • コマンドでの実行は「go run main.go」で実行される
  • コメントの記載方法は ///* */ の2種類

プログラミング言語でお決まりの”Hello World”の出力から、Go言語のプログラム構成の基本をご紹介してきました。

一気に詰め込んだので、わかりづらいところあるでしょうが実際にコードを書いて実行してみてください。

もりぴ
もりぴ

実際に文字列が出力されると楽しいですよ!

あなたもGo言語習得の一歩を踏み出しましたよ!

comment

タイトルとURLをコピーしました