LoginSignup
0
0

More than 3 years have passed since last update.

【Golang】変数定義、定数

Posted at

【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
}

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0