見出し画像

Go備忘録

勉強しながらメモしたことをそのまま記述しています。


サーバーサイド

チーム開発も向いてて実行速度も速い
開発速度が重要なスタートアップから大規模なシステム開発まで
さまざまな開発現場で利用が増えてきている言語

Gopherくんという公式マスコットキャラがいる

・テンプレ
main.go

package main
func main(){
println("Hello,世界")
}

・文字列の囲み方
""

・コメントの書き方
/**/
//

・文字列連結
+

・変数宣言
var number int = 100
var name string = "hoge"

型は省略できる
var number = 100

変数定義ですら省略できる
number:=100

コロンは定義するときに使うやつ
定義じゃないのにコロンを使うとエラーになるよ!

変数は先に定義しないと使えない

使用していない変数があるとエラーになるよ!
文字列型だったのに途中で数値型にすることはできないよ!

・セミコロンについて
行末にセミコロンはいらない

・printlnについて
二つ同時に出力可能
println(a,b)

・if文について
中のかっこは要らないよ!
if score > 80 {
}

セミコロンつけるとおかしなことになる
else
else if

elseは改行してかっこつけちゃいけないんだ!

・かつ、または、否定
&& || !(a)


・switch
かっこが要らない
breakもいらない
コンマで複数指定できる

・標準パッケージ
fmd コンソールに出力できる
math/rand ランダムな数値を生成できる
time 時間に関する処理ができる

インポートするタイプのやつ

package main
import "fmt"

func main(){
fmt.Println("Hello,World");
}

使用していないパッケージがあるとエラーになる

・fmt.Printf
書式つき出力ができる

・for文
for i :=1; i <= 4: i++ {
}

やはりかっこはいらない・・・

for文の変数宣言にvarは使えない!

・rand
import "math/rand"

rand.Intn(10)0~9の乱数を生成

import "time"
rand.Seed(time.Now().Unix())

・fmt.Scan
文字列の入力に使える
var input string
fmt.Scan(&input)

func ask(){
var input string
fmt.Println("次の単語を入力してください:dog")
fmg.Scan(&input)
fmt.Printf("%sと入力されました",input);
}

ask()

・関数の引数
func ask(number int, question string)

・戻り値
func ask(number int, question string) int

return 1

・ポインタとアドレス
&変数でアドレス

func main(){
name := "John"
var namePtr*string = &name
fmt.Println(namePtr)
}

この記事が気に入ったらサポートをしてみませんか?