English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Wie der Name " CONSTANTS" enthaltenbedeutet implizit fest, in Programmiersprachen ist dies ebenfalls der Fall, d.h., sobald der Wert einer Konstanten definiert ist, kann er nicht mehr geändert werden. Konstanten können jeden Basistyp haben, z.B. Ganzzahlkonstanten, Fließkomma-Konstanten, Zeichenkonstanten oder Stringtexte.
Wie wird deklariert?
Konstanten wie Variablen deklariert werden, aber sie verwendenconst Schlüsselwörter als Präfix zur Deklaration von Konstanten mit spezifischen Typen. Es dürfen keine:=Satzdeklaration.
package main import "fmt" const PI = 3.14 func main() { const GFG = "w3codebox" fmt.Println("Hallo", GFG) fmt.Println("Froh", PI, "Tag") const Richtig = wahr fmt.Println("Go regeln?", Richtig) }
Ausgabe:
Hallo w3codebox Froh 3.14 Tag Go regeln? wahr
未类型化和类型化的数字常量:
类型化常量的工作方式就像不可变变量只能与相同类型互操作,而未类型化常量的工作方式就像文字常量可以与相似类型互操作。可以在Go中使用或不使用类型来声明常量。下面的示例显示已命名和未命名的类型化和未类型化的数字常量。
const untypedInteger = 123 const untypedFloating typed = 123.12 const typedInteger int = 123 const typedFloatingPoint float64 = 123.12
以下是Go语言中的常量列表:
数值常量(整数常量,浮点常量,复数常量)
字符串字面量
布尔常量
数值常量:
数值常量是高精度值。Go是一种静态类型的语言,不允许混合数字类型的操作。您不能将float64添加到int,甚至不能将int32添加 到int。虽然,写1e6 * time.Second 或math.Exp(1)甚至 1 <<('\ t'+ 2.0) 都是合法的。在Go中,常量与变量不同,其行为类似于常规数字。
数值常量可以是3种,即整数,浮点数,复数
整数常量:
前缀指定基数:十六进制为0x或0X,八进制为0,十进制为0。
整数字面量也可以具有后缀,分别是U(大写)和L(大写)的组合,分别表示无符号和长整数。
它可以是十进制,八进制或十六进制常量。
一个int最多可以存储64位整数,有时更少。
以下是整数常量的一些示例:
85 /* decimal */ 0213 /* octal */ 0x4b /* 十六进制 */ 30 /* int */ 30u /* unsigned int */ 30l /* long */ 30ul /* unsigned long */ 212 /* gültig */ 215u /* gültig */ 0xFeeL /* gültig */ 078 /* 非法的:8不是八进制数字 */ 032UU /* 非法的:不能重复后缀 */
复数常量:
复数常量的行为与浮点常量非常相似。它是整数常数(或参数)的有序对 或 实数对,并且该常数用逗号分隔,并且该对包含在括号之间。第一个常数是实部,第二个常数是虚部。复数常量COMPLEX * 8使用8个字节的存储空间。
(0.0, 0.0) (-123.456E+30, 987.654E-29)
浮动类型常量:
浮点型常量具有一个整数部分,一个小数点,一个小数部分和一个指数部分。
可以用十进制或指数形式表示浮点常量。
虽然in dezimaler Form dargestellt, muss der Dezimalpunkt, der Exponent oder beide enthalten sein.
und bei der VerwendungExponentbei der Darstellung in Form muss der Ganzzahlteil, der Dezimalteil oder beide enthalten sein.
Hier sind Beispiele für fluktuierende Typkonstanten:
3.14159 /* gültig */ 314159E-5L /* gültig */ 510E /* ungültig: unvollständiger Exponent */ 210f /* ungültig: keine Dezimalzahl oder Exponent */ .e55 /* ungültig: fehlender Ganzzahl oder Bruchteil */
Stringtexte
Go unterstützt zwei Arten von Stringtexten, nämlich "" (Doppelquote-Style) und "" (Backtick-Style).
Strings könnenKettenmit+und+ =Operatoren.
String enthalten ähnliche Zeichen wie Zeichenkettentexte: reine Zeichen, Escape-Serien und universelle Zeichen, das ist untypisiert.
Der Nullwert eines String-Typs ist eine leere Zeichenkette, die mit oder als Text dargestellt werden kann. " " ''
durch Verwendung==, !=und (zur Vergleichung desselben Typs) usw. Operatoren,vergleichbare String-Typen
Syntax
type _string struct { elemente *byte // grundlegende Bytes len int //Bytegröße }
Beispiel zur Anzeige von Stringtexten:
"hello, w3codebox"
"hello, \
w3codebox"
"hello, " "geeks" "forgeeks"
Hier sind alle drei Anweisungen ähnlich, d.h. sie haben keine spezifische Typisierung.
Beispiel:
package main import "fmt" func main() { const A= "GFG" var B = "w3codebox" //Stringverbindung var helloWorld = A+ " " + B helloWorld += "!" fmt.Println(helloWorld) //Stringvergleich fmt.Println(A == "GFG") fmt.Println(B < A) }
Ausgabe:
GFG w3codebox! true false
Boolsche Konstanten:
Boolsche Konstanten ähneln String-Konstanten. Sie verwenden die gleichen Regeln wie String-Konstanten, der Unterschied liegt darin, dass sie zwei untypisierte Konstanten true und false haben.
package main import "fmt" const Pi = 3.14 func main() { const trueConst = true type myBool bool var defaultBool = trueConst // erlaubt var customBool myBool = trueConst // erlaubt // defaultBool = customBool // nicht erlaubt fmt.Println(defaultBool) fmt.Println(customBool) }
Ausgabe:
true true