開発初心者の開発日記~1日目~

内容

  • Goのローカルの環境構築
    • 1時間半程度
    • 時間がかかりすぎたので、未完成
  • A Tour of Goでの基本文法の把握
    • 40分程度
    • BasicsのPackages,variables, and functionsの7まで

環境構築時のメモ

  • Goは$GOPATHの配下で作成するという原則であったが、go modulesが導入されたことで配下に置く必要がなくなった。
  • 環境構築の手順の記録
    • モジュールの管理などについて理解した時に更新して投稿予定

A Tour of goのメモ

Packages

  • Goのプログラムは"パッケージ"で構成
    • importすることで他のパッケージを使用可能
  • プログラムはmainパッケージから開始
  • importのパスの最後の要素はパッケージ名と一致
    • e.g. "math/rand"は"package rand"で始まるパッケージを示す

Imports

  • 括弧でまとめても分けてもimportできる
import ( "fmt" "math" )

import "fmt"
import "math"

Exported names

  • パッケージでエクスポートされた名前はインポート元のファイルで使用可能
    • エクスポートするには名前の始まりを大文字にする必要がある。
    • インポート元でも大文字で使用

Functions

  • (1)funcで関数を宣言&定義
  • 型名は変数の後ろにおいて宣言
  • (2)型が同じ場合はまとめて宣言することができる
  • (3)戻り値が複数あっても大丈夫(戻り値の型は括弧で括る)
  • (4)戻り値に予め名前をつけることも可能
    • 関数のドキュメントとして用いることが好ましい
    • returnの後に何も書かないでも大丈夫("naked" return)
    • もちろん、可読性は下がる
//(1)
func add(x int, y int) int {
    return x + y
}

//(2)
func add(x, y int) int {
    return x + y
}

//(3)
func swap(x, y string) (string, string) {
    return y, x
}

//(4)
func split(sum int) (x, y int) {
    x = sum * 4 / 9
    y = sum - x
    return
}