2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
$GOPATH/pkg/mod
Runter$GOPATH/bin
RunterDie Benennung von Go-Variablen, Konstanten, benutzerdefinierten Typen, Paketen und Funktionen muss den folgenden Regeln folgen:
Das erste Zeichen kann sein任意Unicode字符
oder下划线
Andere Teile als das erste Zeichen können Unicode-Zeichen, Unterstriche oder Zahlen sein
Die Länge des Namens ist unbegrenzt
Theoretisch kann der Name chinesische Schriftzeichen oder sogar alle chinesischen Schriftzeichen enthalten, in der Praxis sollten Sie dies jedoch nicht tun.
brechen | Standard | Funktion | Schnittstelle | wählen |
---|---|---|---|---|
Fall | verschieben | gehen | Karte | Struktur |
chan | anders | gehe zu | Paket | schalten |
Konstante | Wenn | Reichweite | Typ | weitermachen |
für | importieren | zurückkehren | durchfallen | var |
•Konstante
true
false
iota
nil
•Art der Daten
int
int8
int16
int32
int64
uint
uint8
uint16
uint32
uint64
float32
float64
complex128
complex64
byte
rune
string
bool
error
uintptr
•Funktion
make
len
cap
new
append
copy
close
delete
complex
real
imag
panic
recover
Typ | Gehen Sie zu Variablentypen | fmt-Ausgabe |
---|---|---|
ganze Zahl | int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 | %D |
Gleitkomma | float32 float64 | %f %e %g |
Plural | complex128 complex64 | %v |
Boolescher Wert | bool | %T |
Zeiger | uintptr | %D |
Zitat | map slice channel | %v |
Byte | byte | %D |
irgendein Charakter | rune | %D |
Zeichenfolge | string | %S |
Fehler | error | %v |
Wenn er nach der Deklaration nicht explizit initialisiert wird, wird der numerische Typ auf O initialisiert, der String-Typ wird auf eine leere Zeichenfolge initialisiert und der boolesche Typ wird auf false initialisiert.
Referenztypen, Funktionen, Zeiger und Schnittstellen werden auf Null initialisiert
Variablen (nicht globale Variablen) innerhalb von Funktionen können deklariert und initialisiert werden durch: =
Der Unterstrich gibt eine anonyme Variable an
Anonyme Variablen belegen keinen Namespace und weisen keinen Speicher zu, sodass sie wiederverwendet werden können
Konstanten müssen bei ihrer Definition ein Wert zugewiesen werden und ihr Wert kann während der Ausführung des Programms nicht geändert werden.
const PI float32=3.14
const(
PI=3.14
E=2.71
)
const(
a=100
b //100,跟上一行的值相同
c //100,跟上一行的值相同
)
const(
a = iota //0
b //1
c //2
d //3
)
const(
a = iota //0
b //1
_ //2
d //3
)
const(
a = iota //0
b = 30 //30
c = iota //2
d //3
)
Literal: Der Variablenname erscheint nicht, aber der Wert erscheint direkt.Literale von Basistypen sind äquivalent zu Konstanten
Mit Ausnahme von Literalen können verschiedene Datentypen nicht verglichen werden
fmt.Printf("9tn", 04 ==4.00) //用到了整型字面量和浮点型字面量
fmt.Printf("%vn",.4i) //虚数字面量0.4i
fmt.Printf("%tn", "u4f17'=='众 //Unicode和rune字面量
fmt.Printf("Hello nWorldn!n") //字符串字面量
var (
A=3 //全局变量,大写字母开头,所有地方都可以访问,跨package访问时需要带上package名称
b=4 //全局变量,小写字母开头,本package内都可以访问
)
func fool{
b:=5 //局部变量,仅本函数内可以访问。内部声明的变量可以跟外部声明的变量有冲突,以内部的为准
{
b:=6 //仅小圈定的作用域内可以访问,可以跟外部的变量有冲突
}
}
Paketkommentare. Obiges Paket xxx. Ein Paket muss nur Paketkommentare an einer Stelle schreiben, normalerweise in einem dedizierten doc.go.
Es gibt nur eine Zeile packagexxx und Kommentare zum Paket.
Kommentare strukturieren.Geben Sie oben die Struktur xxx ein
Funktionskommentare.obige Funktion xxx()
Zeilenkommentare.über oder rechts von der Zeile