前書き
Python、R、Fortran90、C#、Processing、等々さわってきた結論として、
CとFortranからは逃れられない定めにあると悟りました
Goで土台を築くことに……
そして、後輩たちに布教するんだ……ふへっ
学ぶ上で用意した物
Go Tour
https://go-tour-jp.appspot.com/
スターティングGo言語
https://www.amazon.co.jp/dp/B01FH3KRTI/
本題
Go Tourのforまで学んで思ったことについて
導入
@yoskeoka 氏が [WindowsにGo言語をインストールする方法まとめ]
[WindowsにGo言語をインストールする方法まとめ]:http://qiita.com/drafts/c686397e4a0f4f11683d
とまとめてくださっているので、導入には苦労しませんでした
と言うのも、入れろ入れろと煩く言われたウイルス対策ソフトの影響で、
挙動が不安定になり、
package main
import "fmt"
func main() {
fmt.Printf("Hello world\n")
}
の go run
や go build
に数分かかる、フリーズしかける、など
酷い目に遭いました
うーん、初歩的!
気に入っている所
//----------------
import (
"fmt"
"time"
)
//----------------
importを枠内に書くので見やすい
()
で囲むところもポイントが高い
//----------------------------
func add(x int, y int) int {
return x + y
}
//-----------------------------
型を変数の後ろで定義する所が最初は違和感だったけれど、
xが整数
と素直に読める事を考えると、素晴らしい!になった(小並感)
//-------while--------------------------
func main() {
sum := 1
for sum < 1000 {
sum += sum
}
//-------infinite-----------------------
func main() {
for {
}
}
//---------------------------------------
whileを利用した所、infiniteを利用した所など、
非常に分かりやすくて、すこすこのすこ!
ぐぬぬ……な所
//----------------------------------------
func swap(x, y string) (string, string) {
return y, x
}
//----------------------------------------
戻り値の型の定義が、引数の隣なので忘れそうで怖い
//----------------------------------------
func main() {
sum := 0
var i int = 0
for ; i < 10; i++ {
sum += i
}
fmt.Println(sum)
}
//----------------------------------------
暗示的な型には:=
を、明示的な型にはvar
を利用するのですが、
for文の変数に対して型を明示的するやり方が分からない件について
上の書き方で、var i int
を var i float64
に変えると、
mismatched types int and float64
と返ってきたので、一応成功していそうです
態々そんなのする必要ある?は禁句
本日のまとめ
この言語、個人的にすこすこのすこてぃっしゅ!
明日はMethods and interface に突入したいね!