夏休み1日目で学んだこと(UdemyのGo講座)
おはようございます。
がじぇったー (@hackmylife7) | Twitter
です。
昨日から以下の講座をやっておりますが、
ついついクラッシュロワイアルというゲームをやりすぎて
全然進んでなくて猛省しています。
現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発
今日はしっかり勉強して巻き返したいと思います。
ブログに書きつつしっかり復習していきたいと思います。
文法まわりはしっかり頭にいれないといけないので、ここ重要だな、と思ったら
写経しながらやってます。
そこらへんをブログに書いていきます。
TL;DR(要約)
- さぼらないでしっかりやろう
環境構築
vs-codeで環境構築しました。
hello world
おきまりのhello worldですね。goはこういう風に書くんだ〜くらいです。
package main import "fmt" func init() { fmt.Println("Init") } func bazz() { fmt.Println("Bazz") } func main() { bazz() fmt.Println("Hello world", "test") }
変数宣言
型の宣言方法、var()にすると関数外からも呼び出せる
package main import "fmt" func main() { var ( i int = 1 f64 float64 = 1.2 s string = "test" t, f bool = true, false // var f bool = false ) fmt.Println(i, f64, s, t, f) // ショートの型宣言は関数内でしか使えない // int型を宣言 xi := 1 xf64 := 1.2 xs := "test" xt, xf := true, false fmt.Println(xi, xf64, xs, xt, xf) }
Plintlnで書式を指定して標準出力にだす
書式 | 出力される内容 |
---|---|
%T | 型の出力 |
%v | 対象データ |
%f | 指数なしの小数 |
%d | 10真数 |
文字列操作
package main import ( "fmt" "strings" ) func main() { fmt.Println("hello") fmt.Println(string("hello"[0])) var s string = "hello" // 文字列replace s = strings.Replace(s, "h", "x", 1) fmt.Println(s) fmt.Println(strings.Contains(s, "world")) }
出力
$ go run string.go hello h xello false
文字列から数値型へ
package main import ( "fmt" "strconv" ) func main() { var s string = "14" i, _ := strconv.Atoi(s) fmt.Printf("%T %v", i, i) }
配列
配列はサイズを変更できないが、スライスは配列に追加することが可能
package main import "fmt" func main() { // 配列 var a [2]int a[0] = 100 a[1] = 200 fmt.Println(a) // スライス var b []int = []int{100, 200} b = append(b, 300) fmt.Println(b) }
出力
$ go run list.go [100 200] [100 200 300]