Лучшее руководство по Go константы языка в 2024 году. В этом руководстве вы можете изучить йота,
Постоянное значение является простым идентификатором, программа запущена, сумма не будет изменен.
Постоянный тип данных может быть только логическое, числовое (целое, с плавающей запятой и комплексные числа) и строку.
Константы определенный формат:
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 ( 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
йота составляет от 0 до автоматического добавления 1, так что я = 1 << 0, J = 3 << 1 (<< представляет собой сдвиг влево означает), а именно: я = 1, J = 6, это не проблема, ключ к и л, выход из внешнего вида, к = 3 << 2, л = 3 << 3.