моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
$GOPATH/pkg/mod
Вниз$GOPATH/bin
ВнизИменование переменных, констант, пользовательских типов, пакетов и функций go должно соответствовать следующим правилам:
Первым символом может быть任意Unicode字符
или下划线
Частями, отличными от первого символа, могут быть символы Юникода, символы подчеркивания или цифры.
Длина имени не ограничена
Теоретически в названии могут быть китайские иероглифы или даже все китайские иероглифы, но на практике этого не делайте.
перерыв | по умолчанию | функц | интерфейс | выбирать |
---|---|---|---|---|
случай | отложить | идти | карта | структура |
тян | еще | идти к | упаковка | выключатель |
константа | если | диапазон | тип | продолжать |
для | Импортировать | возвращаться | Проваливаться | вар |
•постоянный
true
false
iota
nil
• тип данных
int
int8
int16
int32
int64
uint
uint8
uint16
uint32
uint64
float32
float64
complex128
complex64
byte
rune
string
bool
error
uintptr
• функция
make
len
cap
new
append
copy
close
delete
complex
real
imag
panic
recover
тип | Типы переменных Go | fmt-выход |
---|---|---|
целое число | int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 | %д |
плавающая запятая | float32 float64 | %е %г %е |
множественное число | complex128 complex64 | %в |
логическое значение | bool | %т |
указатель | uintptr | %д |
Цитировать | map slice channel | %в |
байт | byte | %д |
любой персонаж | rune | %д |
нить | string | %с |
ошибка | error | %в |
Если после объявления он не инициализируется явно, числовой тип инициализируется значением O, строковый тип инициализируется пустой строкой, а логический тип инициализируется значением false.
Ссылочные типы, функции, указатели и интерфейсы инициализируются нулем.
Переменные (неглобальные переменные) внутри функций могут быть объявлены и инициализированы с помощью: =
Подчеркивание указывает на анонимную переменную.
Анонимные переменные не занимают пространство имен и не выделяют память, поэтому их можно использовать повторно.
Константам должно быть присвоено значение при их определении, и их значение не может быть изменено во время работы программы.
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
)
Литерал: имя переменной не отображается, но значение отображается непосредственно.Литералы базовых типов эквивалентны константам.
Различные типы данных нельзя сравнивать, за исключением литералов.
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 //仅小圈定的作用域内可以访问,可以跟外部的变量有冲突
}
}
Комментарии к пакету. Вышеуказанный пакет xxx. Пакету необходимо писать комментарии к пакету только в одном месте, обычно в специальном doc.go.
Есть только одна строка packagexxx и комментарии к пакету.
Структурные комментарии.структура типа xxx выше
Комментарии к функциям.выше функции xxx()
Комментарии к строке.выше или справа от строки