2009年にGoogleよって設計された。Goは、静的型付け、C言語の伝統に則ったコンパイル言語、メモリ安全性、ガベージコレクション、構造的型付け(英語版)、CSPスタイルの並行性などの特徴を持つ。
シンプルかつ高速な処理が可能なプログラミング言語
世界的な動画配信サービスの「YouTube」やフリマアプリとして知られる「メルカリ」、国内有数のグルメサイトとして名高い「ぐるなび」など、実際にGo言語を採用しているサービスやWebアプリは少なくありません。
package main
func main() {
println("Hello, Go")
}
printlnというのは、Goが用意している「命令」の1つです。「コンソールにprintln()の中のものを出力せよ」という命令で、コンピュータが文字列をコンソールに出力します。
package main
func main() {
// 「こんにちは世界」となるように文字列を連結
println("こんにちは" + "世界")
// 文字列"38"と"19"を連結
println("38" + "19")
// 数値38に19を足して出力
println(38 + 19)
}
package main
func main() {
// 変数messageを定義し、「Hello, 世界」を代入
var message string
message = "Hello, 世界"
// 変数messageの値を出力
println(message)
}
package main
func main() {
// 変数messageを省略して定義し、"Hello, 世界"を代入
message := "Hello, 世界"
// 変数numberを省略して定義し、100を代入
number := 100
// 変数messageと変数numberを同時に出力
println(message, number)
}
Goでは、「var a int = 100」のように、変数定義と値の代入を同時に行う場合、データ型の指定を省略することができます。
「var a = 100」とintが省略されています。これは100が整数であるため、そこから変数aに代入される値のデータ型がint型であることが明らかなためです。
データ型を省略した変数定義は、さらに簡単に書くことができます。
「b := 200」のように書くと、「var b int = 200」と同じ意味になります。=(イコール)ではなく:=(コロンとイコール)であることに注意しましょう。便利な書き方なので、基本的にこれを使っていけばよいでしょう。
使わない変数
Goでは、定義したものの使っていない変数があるとエラーになります。
使っていない変数の存在はバグ(不具合)の原因となることが多いため、Goではエラーを発生させて、バグを未然に防ぐ設計になっています。
コメント