うっしー「Go言語」に手を出す…(準備編) 【Go言語】
2018年8月21日GoGoのお勉強,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_(プログラミング言語)
公式サイトはこちら。
準備をする
Go言語を勉強する…と言うても、Go言語を使えるように準備するところから始めなければなりません。
まずは必要なコンパイラ類を入手し、使えるように設定をしてみます。
Goコンパイラのダウンロード
Go言語のコンパイラは公式サイトで配布しています。
トップページにダウンロードページへのリンクがあります。
インストーラーのダウンロードですが、対応するOS別に別れているので、自分の環境に合うもの(ここでは Windows10)を選択します。
Goコンパイラのインストール
ダウンロードできたファイルを実行します。
インストーラーが起動しますので、よく読みながら進めます。
これでインストールは完了。
Goの動作確認
コマンドプロンプトから、バージョンを確認するコマンドを叩いてみます。
go version
バージョンが表示されることを確認。
定番の「Hello World!」をやってみる
では、Go言語の実行環境ができましたので、プログラミングのド定番「Hello World!」を出力するプログラムを作ってみます。
プログラミングする
実際のプログラミングは、テキストエディタ(メモ帳や vi / vim といったテキスト編集用のツール)等で作ります。
今回作るプログラムは、前述したとおり「Hello World!」という文字列を画面に出力するだけの、ごく簡単なものです。
プログラムのソース(内容)は次の通り。
package main
import "fmt"
func main() {
fmt.Printf("Hello World!\n")
}
プログラムが書き上がったら、任意の場所、ファイル名で保存します。
ファイル名は、Goのソースファイルと分かるように、拡張子を「.go」にします。(例えば、 HelloWorld.go 等)
これでソースファイルの準備ができました。
ビルド(コンパイル)する
続いて、たった今作ったソースファイルを、Goのコンパイラを通し、実行できる形にします。
コンパイルのコマンドは次の通り。
go build HelloWorld.go
コンパイルが正常に終われば、「HelloWorld.exe」という実行ファイルが出来上がります。
実行する
最後に、出来上がった実行ファイルを動かしてみます。
画像のように、「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言語のお勉強」インデックス
- うっしー「Go言語」に手を出す…(準備編)
- 「A Tour of Go」をやる!
- その1 「Hello, 世界」
- その2 「Packages」だってさ~
- その3 「Imports」いんぽーっ!
- その4 「Exported names」見えますか?
- その5 「Functions」 これは機能です。
- その6 「Functions continued」(?) 型しょ~略っ!
- その7 「Multiple results」 一粒で二度美味しい?
- その8 「Named return values」 お前は戻り値だ…
- その9 「Variables」入れ物!
- その10 「Variables with initializers」砂でも詰めるか…
- その11 「Short variable declarations」 略パート2!
- その12 「Basic types」 型抜きってあったな…
- その13 「Zero values」 生まれ持った中身は?
- その14 「Type conversions」 1は1.0になれる!
- その15 「Type inference」 君の型は…?
- その16 「Constants」 変えられねぇよ?
- その17 「Numeric Constants」 型無し野郎?
- その18 「For」 ~いよいよループ!~
- その19 「For continued」 ~ Forの続き! ~
「A Tour of Go」を題材にした記事は現在書き直し中…。_(:3」∠)_
ほとんどサボりが原因で尻切れとなっていたシリーズですが、最近になってようやく続きを書きたくなり再開をしようと思ったんです。が、古い記事を見返すとデータ・フォーマットが古かったり内容が分かり難かったりに気づきまして、、、この際だからと最初の記事から書き直しをすることになりました…
関連記事
【Go言語】演習だってね? Exercise: Loops and Functions
制御関連のカテゴリーに入り、そろそろページ的には半分を超えてきた感じの「A To ...
A Tour of Go をやる! – その7 「Multiple results」 一粒で二度美味しい? 【Go言語/A Tour of Go】
「A Tour of Go をやる!」シリーズの第7回目。 前々回から引き続きに ...
A Tour of Go をやる! – その4 「Exported names」見えますか? 【Go言語/A Tour of Go】
「A Tour of Go をやる!」シリーズの第4回目。 何時も通り「A To ...
A Tour of Go をやる! – その12 「Basic types」 型抜きってあったな… 【Go言語/A Tour of Go】
「A Tour of Go をやる!」シリーズの第12回目。 今回も引き続いての ...
A Tour of Go をやる! – その14 「Type conversions」 1は1.0になれる! 【Go言語/A Tour of Go】
「A Tour of Go をやる!」シリーズの第14回目。 今回も変数…という ...
ディスカッション
コメント一覧
まだ、コメントがありません