Go言語-基本❷


基本❷

プログラミング基本からGoの理解を文字におこして行こうと思います!
Go言語-基本❶はこちら

変数定義と代入の違い

package main
func main(){
  n := 100
  n := 200
  println(n)
}

//コンソール
:=の左側に新しい変数がないとエラーになる

変数定義の「:=」と、代入の「=」の違いに注意
2度変数nを定義しているためエラー

変数が使える場所

package main
func main(){
  println(n) //使用不可
  n := 100
  println(n) //使用可能
}

//コンソール
変数nが定義されていないとエラー

変数は、定義したあとでしか使えない
コンソールには、「変数nが定義されていない」ことを表すエラー

使わない変数

package main
func main(){
  a := 100
  b := 200 //使用していない
  println(a)
}

//コンソール
変数bが使用されていないとエラー

定義したものの使っていない変数があるとエラー
Goではエラーを発生させて、バグを未然に防ぐ設計になっている

型の不一致

package main
func main(){
  n := 100
  n := "Go" //int型でない
  println(n)
}

//コンソール
string型の"Go"をint型として変数nに代入できないとエラー

変数のデータ型と異なるデータ型の値は代入できない

変数の演算

package main
func main(){
  n := 100
  println(n + 100)
}

//コンソール
200

変数は値と同じように扱える

自己代入

package main
func main(){
  n := 100
  n = n + 10 //100+10の合計を変数nに再代入
  println(n)
}

//コンソール
110

nの値である100に数値の10を足して、それを再度nに代入(自己代入)

自己代入の省略

//原型            //省略型
n = n + 10       n += 10
n = n - 10       n -= 10
n = n * 10       n *= 10
n = n / 10       n /= 10
n = n % 10       n %= 10
}

「n = n + 10」は「n += 10」と省略でき、これは「-」「*」「/」「%」でも同様

自己代入の省略(2)

n = n + 1  n += 1  n++
n = n - 1  n -= 1  n--
}

「++」という記号は「変数に1を足す」という意味
反対に「--」は「変数から1を引く」という意味

変数に1足す、1引く時のみ、さらに省略できる