#【Golang】変数定義、定数
Golangの基礎学習〜Webアプリケーション作成までの学習を終えたので、復習を兼ねてまとめていく。 基礎〜応用まで。
package main
import (
"fmt"
)
func main(){
fmt.Println("変数")
//変数宣言 明示的な定義
//var 変数名 型指定 = 値
//var i int = 1
//下記、まとめて変数宣言( )で書く
var (
i int = 1
f64 float64 = 1.2
s string = "test"
//2つまとめて変数宣言(同じ型の場合)
t, f bool = true, false
)
//変数宣言して値を入れない場合、初期値が入る
var ii int
//ショートカット変数 暗黙的な定義
//明示的な定義に対して、型指定の必要がないという特徴を持つ。
//var 型指定が不要になる
//関数内のみ宣言可能
//関数外ではvarで変数宣言する
//自動で型を入れてくれる。型推論と呼ばれる。
xi := 1
//デフォルトではfloat64になる。型を明示的に宣言する場合はvarを使う
var xf32 float32 = 1.2
xs := "test"
xt, xf := true, false
fmt.Println(xi, xf32, xs, xt, xf)
//このような書き方もできるが、:=を使った方が望ましい。
//var a = 1
//明示的、暗黙的な定義の使い分け
/*
可能であれば、基本的には型指定を使った方がいい。
一般的に静的型付け言語では、静的型によるプログラムの整合性の保証 という メリットを得る代わりに
プログラム全域で煩雑な型指定が必要になるという代償を払う。
Goは多くの局面で型指定を省略できるように設計されている為に、静的型付け言語のメリット享受しつつ、そのデメリットを軽減するためにも
積極的に型指定をして、開発効率の向上を図るのが正しい。
*/
//共通
//複数回同じ変数を定義することはできない。代入(上書き)は可能。
//関数内の変数は、関数内でのみ使用可能。
//使われていない変数を定義されている場合、エラーになってしまう。
//定数
//定数は後から変更できない
//後から変更しない値の場合、セキュリティ上望ましい。
//関数内にも書けるが、定数はグローバルに書くことが多い
//他のプログラムからも呼び出す場合は、頭文字を大文字にする
//単体
const Pi = 3.14
//const Pi = 3 はできない
//複数
const (
Username = "test_user"
Password = "test_pass"
)
//下記、intの最大値
//下記エラー
// var big int = 9223372036854775807 + 1
//constは型指定しないので、最大値をしてもエラーにならない
const big = 9223372036854775807 + 1
}