Latest web development tutorials

Pergi bahasa konstan

nilai konstan adalah identifier sederhana, program ini berjalan, jumlah yang tidak akan diubah.

Konstan tipe data hanya dapat boolean, numerik (integer, floating point dan bilangan kompleks) dan tali.

Konstanta format yang ditetapkan:

const identifier [type] = value

Anda dapat menghilangkan jenis specifier [Jenis], karena compiler dapat menyimpulkan nilai variabel dengan jenisnya.

  • Eksplisit definisi jenis: const b string = "abc"
  • Jenis definisi implisit: const b = "abc"

Sebuah pluralitas dari jenis yang sama dari pernyataan dapat disingkat sebagai berikut:

const c_name1, c_name2 = value1, value2

Contoh berikut menunjukkan penerapan konstanta:

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

Contoh hasil operasi di atas sebagai berikut:

面积为 : 50
1 false str

Konstanta juga dapat digunakan untuk menghitung:

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

Angka 0, 1 dan 2, masing-masing, atas nama gender tidak diketahui, perempuan dan laki-laki.

Konstanta dapat menggunakan len (), cap (), unsafe.Sizeof () untuk menghitung nilai ekspresi konstan. ekspresi konstanta, fungsi harus built-in fungsi, tetapi sebaliknya compiler:

package main

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

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

Contoh hasil operasi di atas sebagai berikut:

abc 3 16

jumlah sekecil-kecilnya

sedikitpun, konstan khusus, dapat dianggap sebagai modifikasi compiler dapat konstan.

Ketika masing-masing kata kunci const muncul, reset ke nol, dan kemudian berikutnya sebelum const muncul sekali setiap sedikitpun, mereka mewakili nomor secara otomatis bertambah satu.

iota dapat digunakan sebagai nilai-nilai pencacahan:

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

The sedikitpun pertama sama dengan 0, setiap kali iota baris baru digunakan, maka secara otomatis akan ditambahkan ke nilai 1, sehingga a = 0, b = 1, c = 2 dapat disingkat sebagai berikut:

const (
    a = iota
    b
    c
)

sedikitpun Penggunaan

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

Contoh hasil operasi di atas sebagai berikut:

0 1 2 ha ha 100 100 7 8

Lihatlah sedikitpun contoh menarik:

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

Contoh hasil operasi di atas sebagai berikut:

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

iota mewakili dari 0 untuk secara otomatis menambahkan 1, jadi saya = 1 << 0, j = 3 << 1 (<< mewakili pergeseran kiri berarti), yaitu: i = 1, j = 6, ini tidak masalah, tombol k dan l, output dari tampilan, k = 3 << 2, l = 3 << 3.