よくいる文系プログラマの戯言

プライベートでの開発を適当に書き留めます

流行りのGoを触ってみる②

Goを触ってみて2日目。

変数宣言はいい感じにまとまる

package main

import(
  "fmt"
  "math/cmplx"
)

var (
  ToBe bool = false
  MaxInt uint64 = a<<64 - 1
  z complex128 = cmplx.Sqrt(-5 + 12i)
)

ループまわり

while文が存在しない!

sum := 0
for i := 0; i < 10; i++ {
  sum += i
}

// while文的な
sum := 1
for sum < 1000 {
  sum += sum
}

//無限ループ!
for {
}

条件分岐まわり

ifステートメントは、forのように実行のための短いステートメントを条件の前に書ける。 elseブロック内でも使用可能。

if v := math.Pow(x, n); v < lim {
}

JSON的な

type Vertex struct {
  X int
  Y int
}

メモリの確保

こちらはC言語っぽいもの。

var t *T = new(T)

//同じ書き方
t := new(T)

次回はSlice、Map、Functionあたりに触れたいと思います。