うっしー「Go」に手を出す… 【Go言語】

2018年8月21日Go言語のお勉強Goのお勉強,Go言語,プログラミングGo言語のお勉強,Go言語,プログラミング

記事ヘッダー_Go言語

いや~、しばらく更新が断絶してましたが久しぶりに投稿してみます。

今回から、Googleが提供をしている「Go」というプログラミング言語を使ってみようと思いまして、手探りながら勧めてみようと思います。

というのもですね、最近のトレンドで「Go」が浮上しているようでして、波にはしがみついていかないとねっ、というわけで唐突ですがトライしてみます。

「Go」とは?

記事作成時点で私が認識できていることは、なんとなく C言語 っぽいな、ということだけです。

そして、Go言語とは…と、解説したほうが良いのでしょうが、Wikipedia に丸投げときます。知らんのに書きようがないし…

リンク載せておきますので、気になる方は御覧ください。

Goはプログラミング言語の1つである。2009年、GoogleでRobert Griesemer、ロブ・パイク、ケン・トンプソンによって設計された。Goは、静的型付け、C言語の伝統に則ったコンパイル言語、メモリ安全性、ガベージコレクション、構造的型付け(英語版)、CSPスタイルの並行性などの特徴を持つ。Goのコンパイラ、ツール、およびソースコードは、すべてフリーかつオープンソースである。

https://ja.wikipedia.org/wiki/Go_(プログラミング言語)

公式サイトはこちら。

https://golang.org/

準備をする

Go言語を勉強する…と言うても、Go言語を使えるように準備するところから始めなければなりません。

まずは必要なコンパイラ類を入手し、使えるように設定をしてみます。

Goコンパイラのダウンロード

Go言語のコンパイラは公式サイトで配布しています。

トップページにダウンロードページへのリンクがあります。

Goをダウンロード①
Goをダウンロード①

インストーラーのダウンロードですが、対応するOS別に別れているので、自分の環境に合うもの(ここでは Windows10)を選択します。

Goをダウンロード②
Goをダウンロード②

Goコンパイラのインストール

ダウンロードできたファイルを実行します。

インストーラーが起動しますので、よく読みながら進めます。

Goのインストール①
Goのインストール①
Goのインストール②
Goのインストール②
Goのインストール③
Goのインストール③
Goのインストール④
Goのインストール④
Goのインストール⑤
Goのインストール⑤

これでインストールは完了。

Goの動作確認

コマンドプロンプトから、バージョンを確認するコマンドを叩いてみます。

go version

バージョンが表示されることを確認。

Goの動作確認
Goの動作確認

定番の「Hello World!」をやってみる

では、Go言語の実行環境ができましたので、プログラミングのド定番「Hello World!」を出力するプログラムを作ってみます。

プログラミングする

実際のプログラミングは、テキストエディタ(メモ帳や vi / vim といったテキスト編集用のツール)等で作ります。

今回作るプログラムは、前述したとおり「Hello World!」という文字列を画面に出力するだけの、ごく簡単なものです。

プログラムのソース(内容)は次の通り。

package main

import "fmt"

func main() {
  fmt.Printf("Hello World!\n")
}

プログラムが書き上がったら、任意の場所、ファイル名で保存します。

ファイル名は、Goのソースファイルと分かるように、拡張子を「.go」にします。(例えば、 HelloWorld.go 等)

Hello World のプログラミング
Hello World のプログラミング

これでソースファイルの準備ができました。

ビルド(コンパイル)する

続いて、たった今作ったソースファイルを、Goのコンパイラを通し、実行できる形にします。

コンパイルのコマンドは次の通り。

go build HelloWorld.go

コンパイルが正常に終われば、「HelloWorld.exe」という実行ファイルが出来上がります。

Hello World のコンパイル
Hello World のコンパイル

実行する

最後に、出来上がった実行ファイルを動かしてみます。

Hello World を動かす
Hello World を動かす

画像のように、「Hello World!」が出力されれば成功です。

コンパイルでエラーが出た場合

コンパイルをした際、プログラム内に間違いがあればエラーが出力されます。

コンパイルでエラーが出た場合
コンパイルでエラーが出た場合

エラーが出た場合、出力された文章をよく読むと、ソースのどのあたりに不具合があるかのヒントが得られます。

E:\Project Program\Go\Hello World>go build HelloWorld.go
# command-line-arguments
.\HelloWorld.go:6:31: newline in string …①
.\HelloWorld.go:6:31: syntax error: unexpected newline, expecting comma or ) …②

E:\Project Program\Go\Hello World>

上記エラーの場合を見てみます。

①のエラー:6行、31文字付近で文字列の改行が行われている、、、というエラー

②のエラー:6行、31文字付近でシンタックスエラー(構文エラー)、、、となっていて、続きを読むと、「予期しない改行、カンマあるいはカッコが必要」というエラー

というわけで、どうも 6行-31文字 付近が怪しいぞ、、、と当たりがつきます。

package main

import "fmt"

func main() {
  fmt.Printf("Hello World!\n) …エラー該当行、文字列の最後に " が無い
}

エラーの該当行をよく見ると、文字列であるはずの「Hello World!\n」の後ろにダブルクォート(")が無いのが確認できました。

エラーのパターンは様々ですが、通知されるエラーメッセージをよく読めば、解決に近づくと思います。

今回はここまで

今回はここまで。

Goの実行環境の準備、HelloWorldプログラミングを動かせたので、触りとしては十分だと思います。

今回は、コンパイラのインストールとテストプログラムの実行をしてみましたが、すんなりと動かすことができました。

次回からは HelloWorld 以外の Go プログラミングを試していこうと思います。

それじゃまた٩(๑´3`๑)۶

Go言語のお勉強 記事一覧

  1. うっしー「Go」に手を出す…
  2. 「A Tour of Go」をやる! シリーズ
    1. その1 「Hello, 世界」
    2. その2 「Packages」だってさ~
    3. その3 「Imports」いんぽーっ!
    4. その4 「Exported names」見えますか?
    5. その5 「Functions」 これは機能です。
    6. その6 「Functions continued」(?) 型しょ~略っ!
    7. その7 「Multiple results」 一粒で二度美味しい?
    8. その8 「Named return values」 お前は戻り値だ…
    9. その9 「Variables」入れ物!
    10. その10 「Variables with initializers」砂でも詰めるか…
    11. その11 「Short variable declarations」 略パート2!
    12. その12 「Basic types」 型抜きってあったな…
    13. その13 「Zero values」 生まれ持った中身は?
    14. その14 「Type conversions」 1は1.0になれる!

「A Tour of Go」記事は現在書き直し中…。_(┐「ε:)_
サボったりサボったり…で尻切れシリーズになっていましたが、最近続きを書く気になりました。が、これまでの記事を改めて見返すと記事のデータ・フォーマットが古く、この際だからと最初の記事から書き直しております。