https://github.com/yuukanehiro/GolangStudy
もくじ
Progate
おみくじアプリ
https://prog-8.com/go/study/2/9#/24
package main import "fmt" // 「math/rand」パッケージと「time」パッケージをインポートしてください import "math/rand" import "time" func main() { // 指定されたコードを貼り付けてください rand.Seed(time.Now().Unix()) // for文を作成してください for i := 1; i <= 3; i++ { number := rand.Intn(6) fmt.Printf("%d回目のおみくじ結果: ", i) switch number { case 0: fmt.Println("凶です") case 1, 2: fmt.Println("吉です") case 3, 4: fmt.Println("中吉です") case 5: fmt.Println("大吉です") } } }
タイピングアプリ
https://prog-8.com/go/study/3/2#/6
package main import "fmt" func main() { totalScore := 0 ask(1, "dog", totalScore) ask(2, "cat", totalScore) ask(3, "fish", totalScore) fmt.Println("スコア", totalScore) } // 引数としてint型のtotalScoreを追加してください func ask(number int, question string, totalScore int) { var input string fmt.Printf("[質問%d] 次の単語を入力してください: %s\n", number, question) fmt.Scan(&input) if question == input { fmt.Println("正解!") totalScore += 10 } else { fmt.Println("不正解!") } }
ポインタ
package main import "fmt" func main() { totalScore := 0 // 引数にtotalScoreのポインタを渡してください ask(1, "dog", &totalScore) ask(2, "cat", &totalScore) ask(3, "fish", &totalScore) fmt.Println("スコア", totalScore) } // 渡されるtotalScoreのポインタを受け取るように変更してください func ask(number int, question string, scorePtr *int) { var input string fmt.Printf("[質問%d] 次の単語を入力してください: %s\n", number, question) fmt.Scan(&input) if question == input { fmt.Println("正解!") // ポインタを使って加算してください *scorePtr += 10 } else { fmt.Println("不正解!") } }
ドットインストール
hello world, 変数
package main import "fmt" func main() { massage := "hello world" fmt.Println(massage) number1, number2 := 11, 23 println(number1, number2) var ( number3 int message2 string ) number3 = 35 message2 = "yahoo world" }
データ型
package main import "fmt" func main() { number := 5 floatNumber := 3.14 message := "馬鹿な、ありえない" flag := true fmt.Printf("number:%d float:%f string:%s bool:%t", number, floatNumber, message, flag) }
定数、iota
package main import "fmt" func main() { const message = "yuuです" fmt.Println(message) // yuuです const ( sun = iota mon tue ) println(sun, mon, tue) // 0 1 2 }
ポインタ
package main import "fmt" func main() { number := 12 var numberPointer * int numberPointer = &number fmt.Println(numberPointer) // 0xc000016070 fmt.Println(*numberPointer) // 12 }