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 ปรากฏขึ้นจะเริ่มจากศูนย์แล้วต่อไปก่อนที่จะปรากฏ const หนึ่งครั้งในทุกส่วนน้อยนิดที่พวกเขาแสดงตัวเลขจะเพิ่มขึ้นโดยอัตโนมัติโดยหนึ่ง

ส่วนน้อยนิดที่สามารถใช้เป็นค่าการแจงนับ:

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

ส่วนน้อยนิดแรกเท่ากับ 0 เมื่อใดก็ตามที่น้อยนิดบรรทัดใหม่ถูกนำมาใช้ก็จะได้รับการเพิ่มมูลค่าของ 1 ดังนั้น A = 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

แสดงให้เห็นถึงส่วนน้อยนิดจาก 0 ถึง 1 เพิ่มโดยอัตโนมัติดังนั้นฉัน = 1 << 0, J = 3 << 1 (<< แสดงให้เห็นถึงการเปลี่ยนแปลงทางด้านซ้ายหมายถึง) กล่าวคือ: i = 1, J = 6 นี้จะไม่มีปัญหา k ที่สำคัญ และ L, เอาท์พุทจากรูปลักษณ์ที่ K = 3 << 2, L = 3 << 3