Latest web development tutorials

言語定数を行きます

一定の値は、単純な識別子であり、プログラムが実行されている、金額は変更されません。

定数のデータ・タイプはブール値、数値(整数、浮動小数点および複素数)と文字列を指定できます。

定数定義されたフォーマット:

const identifier [type] = value

コンパイラはその型に変数の値を推測することができますので、あなたは、型指定[タイプ]を省略することができます。

  • 明示的な型定義: const b string = "abc"
  • 暗黙的な型定義: const b = "abc"

次のように文の同じタイプの複数の省略することができます:

const c_name1, c_name2 = value1, value2

次の例では、定数のアプリケーションを示しています。

package main

import "fmt"

func main() {
   const LENGTH int = 10
   const WIDTH int = 5   
   var area int
   const a, b, c = 1, false, "str" //多重赋值

   area = LENGTH * WIDTH
   fmt.Printf("面积为 : %d", area)
   println()
   println(a, b, c)   
}

上記の業績の例として次のように:

面积为 : 50
1 false str

定数も列挙するために使用することができます。

const (
    Unknown = 0
    Female = 1
    Male = 2
)

数字0、1、2、それぞれ、性別不明、女性と男性に代わって。

定数は、lenが()、キャップ()、unsafe.Sizeof()は定数式の値を計算するために使用することができます。 定数式、関数が内蔵されなければならない機能が、それ以外のコンパイラ:

package main

import "unsafe"
const (
    a = "abc"
    b = len(a)
    c = unsafe.Sizeof(a)
)

func main(){
    println(a, b, c)
}

上記の業績の例として次のように:

abc 3 16

イオタ

イオタ、特別な定数は、コンパイラの変更を一定にすることができると考えることができます。

定数は一度イオタを表示される前にconstキーワードのそれぞれは、ゼロにリセットして、次のされて表示されたら、彼らは番号が自動的に1つずつ増加している表します。

イオタは、列挙値として使用することができます。

const (
    a = iota
    b = iota
    c = iota
)

イオタ新しい行が使用されるたびに0に等しい最初のイオタは、自動的に1の値に加算されるので= 0、B = 1、C 2を省略することができる=次のように

const (
    a = iota
    b
    c
)

イオタ使い方

package main

import "fmt"

func main() {
    const (
            a = iota   //0
            b          //1
            c          //2
            d = "ha"   //独立值,iota += 1
            e          //"ha"   iota += 1
            f = 100    //iota +=1
            g          //100  iota +=1
            h = iota   //7,恢复计数
            i          //8
    )
    fmt.Println(a,b,c,d,e,f,g,h,i)
}

上記の業績の例として次のように:

0 1 2 ha ha 100 100 7 8

興味深い例のイオタを見て:

package main

import "fmt"
const (
	i=1<<iota
    j=3<<iota
    k
    l
)

func main() {
	fmt.Println("i=",i)
	fmt.Println("j=",j)
	fmt.Println("k=",k)
	fmt.Println("l=",l)
}

上記の業績の例として次のように:

i= 1
j= 6
k= 12
l= 24

イオタは自動的に1を追加するために0から表し、ので、私= 1 << 0、J = 3 << 1(<<左シフトを意味を表す)、すなわち:私は= 1、J = 6、これは問題ではない、鍵kおよびl、外観からの出力はk = 3 << 2、L = 3 << 3。