この記事のランク | |
---|---|
読む時間 | 3分 |
重要度 |
近年、普及率がかなり高くなった言語の一つになります。
この記事では、Go言語で何ができるのか?をテーマに、Go言語の特徴を実際のソースコードを見ながらご紹介いたします。
Twitter(@nana_korobi04)でも情報発信していますので、
フォローいただけると嬉しいです!
Go言語とは
コンピュータの処理能力の向上や、プログラミング言語の複雑化など環境の変化により、「シンプル」で「素早い」プログラミング言語が求められていたことがGo言語が作られた理由です。
Go言語は、C言語やJavaと同じコンパイラ言語ですが、OSに依存しないクロスコンパイルという機能が特徴で、例えばWindowsで作ったGoのソースコードをMacでもコンパイルして利用することができます。
また、Go言語はgoroutine(ゴルーチン)という並列処理ができる機能が備わっており、高速に処理を行えるため、規模の大きなシステム開発に向いているプログラミング言語でもあります。
Go言語でできること
Go言語はWebサイトやWebアプリケーションの開発が得意で、有名なサービスには、YouTube、メルカリ、ぐるなびがあります。
他には「Go mobile」というパッケージを使うとAndroidとiOS両方に対応したスマホアプリが開発できますし、「Gobot」というフレームワークを使えばIoTの開発も可能です。
Go言語のはじめかた
それではGo言語をはじめるに当たって、必要な作業をご説明します。
Go言語のダウンロード手順
Goのサイトよりインストーラーをダウンロードします。
以下の手順でインストールをを進めてください。
スタートから「cmd」で検索し、コマンドプロンプトを開いてください。
最後にコンソールで「go version」を実行し、バージョン情報が見れること確認します。
Goファイルの実行
これでGo言語を開発する準備ができました。
次にGo言語のファイルを実行してみましょう。
package main
import "fmt"
func main(){
fmt.Println("Hello")
}
それでは、実際にGoファイルを動かしてみましょう。
Go言語はコンパイルが必要なプログラミング言語ですが、自動的にコンパイル~実行までしてくれる「go run」というコマンドがあります。
スタートから「cmd」で検索し、コマンドプロンプトを開いてください。
コマンドプロンプトから「go run Hello.go」を実行します。
ただし、「go run」は実行ファイルが作成されないため、実行ファイルを作成する場合は以下の「go build」を指定します。
コマンドプロンプトから「go build Hello.go」を実行します。
同じフォルダに「Hello.exe」が作成されますので、確認してください。
「Hello.exe」をダブルクリックして実行してください。
GoでWebサイトを構築
続いて、「net/http」というパッケージを使って簡単なWebサイトを構築してみましょう。
package main
import (
"log"
"net/http"
)
func main() {
http.Handle("/web/", http.StripPrefix("/web/", http.FileServer(http.Dir("/Go/Sample"))))
log.Fatal(http.ListenAndServe(":8080", nil))
}
main関数の処理である7行目では、http.Handleメソッドの中に3つの引数がありますが、第3引数から順に解説していきます。
続いて、ブラウザに表示させるHTMLを作りましょう。
HTMLファイルは、SampleSite.goと同じ場所に作成しています。
<!DOCTYPE html>
<html lang=ja>
<head>
<meta charset="utf-8">
<title>SampleSite</title>
</head>
<body>
<h3>Welcome My WebSite!</h3>
</body>
</html>
HTMLファイルが作成できたらコンソールから「go run SampleSite.go」のコマンドを実行して下さい。
次にブラウザを起動してアドレスバーに「http://localhost:8080/web/」を入力してアクセスすると、「Welcome My WebSite!」というメッセージが表示されたと思います。
このようにGo言語では10行足らずで簡単にWebサイトを作ることができます。
まとめ
Go言語は新しいプログラミング言語ですので、未だ市場にはエンジニアが少ないため習得すれば仕事で有利になります。
開発元もGoogleという信頼性の高い起業のため、バックエンドの案件でもJava、Rubyに続いてGo言語の募集が目立つようになってきています。
Web業界では、既存のプログラミング言語から処理性能が速いGo言語への移行が始まっていますので、今後もGo言語の需要は増えていくでしょう。