急いで学ぶGo lang#3 まずは基本構文

2015.02.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Goの基本構文を学びましょう

Goの動作環境の設定もできたので、Go言語を使っていきましょう。 まずは基本的な構文をみていきます。

動作環境

今回使用した動作環境は以下のとおりです。

  • OS : MacOS X 10.9.4
  • Go : 1.4.1
  • IDE : IntelliJ IDEA 14 CE

ここを参考に、GOPATHとGOROOTは設定しておいてください。

Goの基本構文

変数・定数・型

Goにおける変数宣言は、名前の後に型を宣言します。 ちなみに、Goは宣言されている未使用の変数があった場合、エラーになるので注意してください。

//var variableName type
var i int
//var variableName type = value.型は静的に推論される
var str = "hello"
//var vname1, vname2, vname3 = v1, v2, v3
var x, y, z = 10, 20, 30

ちなみに、Goで使える基本型は整数・浮動小数点数、複素数が使えるとのことです。 intとかbyteとかfloadとか。詳細は言語仕様でもみてください。

:= はvarと型宣言を省略できます。ただしグローバルでは使用できません(関数内部のみ)。

a, b, c := "a", "b", "c"

_(アンダースコア)は特別な変数名で、どんな値も捨てられます。

_, b := 1, 2

constを使えば定数を宣言できます。再代入しようとするとエラーになります。

const PI float64 = 3.14
//PI = 3.141592 <-エラー

import文やconst、var等の宣言は、()でグループ化して宣言することができます。

import(
    "fmt"
    "foo/bar"
)

const(
    i = 1
    str = "hello"
)

var(
    i int
    str string
)

iotaは定数の宣言で使用される、「連続した型を持たない整数定数値」(要するに連番)を生成してくれます。

const(
    x = iota  // x == 0
    y = iota  // y == 1
    z = iota  // z == 2
    w         // w == 3
)

//こう書いてもOK
const(
    a = iota  // a == 0
    b         // b == 1
    c         // c == 2
)

参考サイトなど