LoginSignup
0
0

More than 1 year has passed since last update.

Goを触る①

Posted at

はじめに

業務でGoを使うことになったので備忘録としてメモ

インストール

Mac環境なのでHomebrewを使う

$ brew update
$ brew upgrade
$ brew install go

インストールされているか確認

$ go version

パスを確認

$ go env GOPATH

Hello world

package main
import "fmt"
func main() {
    fmt.Println("Hello world")
}

runでファイルをそのまま実行

$ go run hello-world.go

buildでバイナリを生成することでバイナリを直接実行できる

$ go build hello-world.go
$ ./hello-world

変数

変数 は var 変数名 型名で宣言

var hoge int

初期値を設定することも可能

var hoge int = 1

初期値を設定する際は var と型を省略することが可能

hoge := 1

まとめて定義もできる

var (
    hoge int = 1
    fuga string = "1"
)

定数

定数 const 変数名 型名で宣言

const hoge int = 1

型名を省力することができるのは var と同じ

演算子

1 2
+ 加算
- 減算
* 乗算
/ 除算
% 余り
& AND
| OR
^ XOR
x++ インクリメント
x-- デクリメント
&& AかつB
|| AまたはB
!x NOT
==  等しい
!=  等しくない
<  AがBより大きい
<=  AがB以上
>  AがBより小さい
>=  AがB以下

配列

個数と型名を宣言して設定する

x := [3]string{"hoge", "guga", "bar"}

個数が決まっていないもの(初期化時に決定)に対しては個数を省力する

y := [...]string{"hoge", "guga", "bar"}

IF文

if 条件 { 処理 }

if x > a {
    fmt.Println(x)
}

else や else if は以下

if x > y {
    fmt.Println("hoge")
} else if x < y {
    fmt.Println("fuga")
} else {
    fmt.Println("hogefuga")
}

Switch文

switch cnt {
case 1:
    return "1回目"
case 2:
    return "2回目"
default:
    return "不明"
}

caseで条件分岐させる場合は

switch {
case x > y:
    return "hoge"
case x < y:
    return "fuga"
default:
    return "default"
}

For文

for 開始処理; 条件; 後処理

for i := 0; i < 10; i++ {
    fmt.Println(i)
}

開始処理や後処理を省力することができる

for x < y {
    x++
}

まとめ

とりあえず基礎的なところから

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0