【第一回Go言語学習備忘録】とりあえず”Hello World!”

2月 12, 2022

どもです。DIESELのワッペンパーカーがあまりにも可愛くて危うく買ってしまいそうになりました、saisaiです。
何にもない日に2万はちょっと手が出なかった…。


さて、この記事が当ブログ最初の技術系投稿になります。IT業界に潜入してまだまだ日が浅い若造ですが、学んだことをどんどん記事にしてアウトプットしていこうかと思います。何卒、お手柔らかに…。


普段はAWSインフラエンジニアとして勤務している僕ですが、最近マイクロサービスにも興味を持っておりまして、マイクロサービスといえばGolangということで本日よりGolangについて学習したことを備忘録として記事に残しておこうと思った次第であります。


プログラミング言語を本格的に勉強するのなんて初めてなのでドキドキです(Rubyに触れたことがあるくらい)。
初めてがGoかよと突っ込まれそうですが、一度自分で決めた道なのでちゃんと習得するまで突っ走っていこうかなと思います。

言語学習はとりあえず"Hello World!"で始める!

誰かが言っていました。というわけで早速Goで"Hello World!"を出力するコードを書きつつ、その特徴について見ていこうと思います。


まずはさくっとGoで"Hello World!"と出力してみましょう。
“main.go"というファイルを作成し、テキストエディタでコードを書き込んでいきます。
コードは以下の通りです。

package main

import "fmt"

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

上からざっくり"パッケージ名","importするパッケージ","main関数とその処理"となります。

package main


最初に現れるのはパッケージ名です。Goは処理ごとにコードファイルを分割し、それぞれを"package"として識別出来ます。また、Goの処理は"main関数"から実行開始するので、main関数を含むGoファイルに"main.go"と名付けてわかりやすくしておくのが良さそうです。

import "fmt"


続いて"import"ですが、こちらは別のパッケージをこのパッケージにimportする工程になります。例えば今回の場合、"Hello World!!"という文字列を出力するために、Goの標準パッケージである"fmt"パッケージの中の"println"関数を使用します。そのため"fmt"パッケージを予め"main"パッケージにimportし、"println"関数を"main"パッケージ内で使用できる状態にしておく必要があります。

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


続いて"main関数"です。Goでは基本的に

func 関数名 (引数) 返り値

という形で関数を定義します。main関数の処理には"引数"と"返り値"は使用しないため、()内は空欄、その後ろにも何も記載はありません。Hello World!の応用編の記事ではこの引数と返り値について触れつつ、"Hello World!"を出力していますのでこちらも是非ご確認ください。


{}内に関数の処理を書いていきます。先ほども記載した通り、文字列の出力にはfmtパッケージのprintln関数を使用しますのでふんわりこんなイメージかなぁと勝手に解釈しています。

fmt.Println("Hello World!")
//fmtというパッケージの.printlnという関数で出力、("Hello World!")を。

ちなみに外部パッケージから引用する関数名の頭文字は大文字である点に注意です。(“P"rintln)


以上が"Hello World"の説明です。では、実際に実行してみましょう。

saisai  %  go run main.go
Hello World!

実行環境はMacのターミナルです。今回は"main.go"というファイル名でGoファイルを作成したので、実行コマンドは上記のようになります。無事、期待した値が出力されていますね!やったぜ!

ひとこと

今回はGo言語学習第一弾ということで"Hello World!"に挑戦してみました。


プログラミング言語をあまり深く勉強したことがないので、Goの難易度が相対的にどのくらいのものなのかは判断できません。


しかし、今回の学習を通してなんとなくGo言語の大まかな流れを掴むことが出来たのかなと思っています。


もちろんこれからどんどん難しくなってくるとは思いますが、へこたれることなく頑張りたいと思います。


最後まで読んでいただきありがとうございました。


-saisai-


↓本日のオススメ

Golang

Posted by CY