Taka blog

プログラミングとか

Go言語入門 - 変数

Go言語入門のうち、変数についてまとめています。

 

Goの公式仕様はこちらに載っています。 https://go.dev/ref/spec

 

 

変数とは

変数は、ある型1つと、それに合った値1つを保持するものです。

例えばstring型の変数は、文字列である"a"を保持できます。逆に、数字の1などを保持することはできません。

 

宣言

基本的には、関数内で変数の宣言を行います。

 

main.go例

package main

import "fmt"

func main() {
	s := "a"
	
	fmt.Println(s)
}

 

宣言の方法はいくつかあるので、次はそれを挙げていきます。

 

変数名 := 値

最も使うパターンです。

上のmain.go例で使っているのもこれです。

宣言と代入を行っていて、最もシンプルに書けます。

 

型名が省略されていますが、型は値から自動で推測されます。

  • 値が""で囲まれている(=値が文字列) → string型
  • 値が数字 → int型
  • 値がtrueまたはfalse → bool型

 

右辺が値ではなく、変数名 := 関数名(引数)というパターンもあります。この場合は、関数の宣言で値の型が決まっています。

 

var 変数名 型名

var s string

 

このパターンのように初期値の無い宣言を行うと、値には型のゼロ値が入ります。  

型によってゼロ値は異なり、string型は""(=空文字)、int型は0です。

 

var 変数名 型名 = 値

var s string = "a"

 

var 変数名 = 値

var s = "a"

 

複数の変数を宣言

s, t := "a", "b"

var s, t string

var s, t string = "a", "b"

var s,t = "a", "b"

var (
	s string
	t = "a"
)