Go変数宣言

3356 ワード

go変数タイプ宣言
  • 変数短い宣言go言語は強いタイプの言語なので変数の宣言でタイプを設定しますが、メソッドで宣言された変数はキーワードvarや変数タイプを必要とせず、fmt関数で%vが対応する値のデフォルトフォーマットに出力され、%Tがその値のタイプをフォーマット化して出力します.
  • func main() {
        a := 10
        b := "golang"
        c := 4.17
        d := true
        e := "Hello"
        f := `Do you like my hat?`
        g := 'M'
        fmt.Printf("%v 
    ", a) fmt.Printf("%v
    ", b) fmt.Printf("%v
    ", c) fmt.Printf("%v
    ", d) fmt.Printf("%v
    ", e) fmt.Printf("%v
    ", f) fmt.Printf("%v
    ", g) fmt.Printf("%T
    ", a) fmt.Printf("%T
    ", b) fmt.Printf("%T
    ", c) fmt.Printf("%T
    ", d) fmt.Printf("%T
    ", e) fmt.Printf("%T
    ", f) fmt.Printf("%T
    ", g) }
  • 変数デフォルト
  • func main() {
        var a int
        var b string
        var c float64
        var d bool
        fmt.Printf("%v 
    ", a) fmt.Printf("%v
    ", b) fmt.Printf("%v
    ", c) fmt.Printf("%v
    ", d) }

    出力0""0 false
  • 変数帯域タイプ宣言後付与
  • func main() {
        var message string
        message = "Hello World."
        fmt.Println(message)
    }
    
  • 多変数同型先宣言後付与
  • func main() {
        var message string
        var a, b, c int
        a = 1
        message = "Hello World!"
        fmt.Println(message, a, b, c)
    }
    
  • 多変数同タイプ宣言同時付与
  • func main() {
        var message = "Hello World!"
        var a, b, c int = 1, 2, 3
        fmt.Println(message, a, b, c)
    }
    
  • 多変数推定タイプ(同タイプ)宣言同時付与は、メソッドまたは他のコードブロックで使用することができ、独自の不確定な変数タイプ
  • を定義することができる.
    func main() {
        var message = "Hello World!"
        var a, b, c = 1, 2, 3
        fmt.Println(message, a, b, c)
    }
    
  • 多変数推定タイプ(異なるタイプ)宣言同時付与
  • func main() {
        var message = "Hello World!"
        var a, b, c = 1, false, 3
        fmt.Println(message, a, b, c)
    }
    
  • 変数各種宣言の形式
  • package main
    import "fmt"
    var a = "this is stored in the variable a"     // package scope
    var b, c string = "stored in b", "stored in c" // package scope
    var d string                                   // package scope
    func main() {
        d = "stored in d" // declaration above; assignment here; package scope
        var e = 42        // function scope - subsequent variables have func scope:
        f := 43
        g := "stored in g"
        h, i := "stored in h", "stored in i"
        j, k, l, m := 44.7, true, false, 'm' // single quotes
        n := "n"                             // double quotes
        o := `o`                             // back ticks
        fmt.Println("a - ", a)
        fmt.Println("b - ", b)
        fmt.Println("c - ", c)
        fmt.Println("d - ", d)
        fmt.Println("e - ", e)
        fmt.Println("f - ", f)
        fmt.Println("g - ", g)
        fmt.Println("h - ", h)
        fmt.Println("i - ", i)
        fmt.Println("j - ", j)
        fmt.Println("k - ", k)
        fmt.Println("l - ", l)
        fmt.Println("m - ", m)
        fmt.Println("n - ", n)
        fmt.Println("o - ", o)
    }