mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2025-04-26 15:13:56 +00:00
commit
17c69eeb16
@ -15,10 +15,10 @@ Go - это язык общего назначения, целью которо
|
||||
способ решать насущные проблемы.
|
||||
|
||||
Концепции Go схожи с другими императивными статически типизированными языками.
|
||||
Быстро компилируются и быстро выполняются, имеет легкие в понимании конструкции
|
||||
Быстро компилируется и быстро исполняется, имеет легкие в понимании конструкции
|
||||
для создания масштабируемых и многопоточных программ.
|
||||
|
||||
Имеет в наличии отличную стандартную библиотеку и большое комьюнити, полное
|
||||
Может похвастаться отличной стандартной библиотекой и большим комьюнити, полным
|
||||
энтузиазтов.
|
||||
|
||||
```go
|
||||
@ -50,7 +50,7 @@ func main() {
|
||||
}
|
||||
|
||||
// Функции содержат входные параметры в круглых скобках.
|
||||
// Если параметров нет, пустые скобки все равно обязательны.
|
||||
// Пустые скобки все равно обязательны, даже если параметров нет.
|
||||
func beyondHello() {
|
||||
var x int // Переменные должны быть объявлены до их использования.
|
||||
x = 3 // Присвоение значения переменной.
|
||||
@ -102,11 +102,13 @@ func learnTypes() {
|
||||
p, q := learnMemory() // объявление p и q как указателей на int.
|
||||
fmt.Println(*p, *q) // * извлекает указатель. Печатает два int-а.
|
||||
|
||||
// Map как словарь или хеш теблица из других языков является динамически
|
||||
// растущим ассоциативным массивом.
|
||||
// Map как словарь или хеш теблица из других языков является ассоциативным
|
||||
// массивом с динамически изменяемым размером.
|
||||
m := map[string]int{"three": 3, "four": 4}
|
||||
m["one"] = 1
|
||||
|
||||
delete(m, "three") // встроенная функция, удаляет элемент из map-а.
|
||||
|
||||
// Неиспользуемые переменные в Go являются ошибкой.
|
||||
// Нижнее подчеркивание позволяет игнорировать такие переменные.
|
||||
_, _, _, _, _, _, _, _, _ = s2, g, f, u, pi, n, a3, s4, bs
|
||||
@ -212,8 +214,8 @@ func learnInterfaces() {
|
||||
// Вызов метода String у i, типа Stringer. Вывод такой же что и выше.
|
||||
fmt.Println(i.String())
|
||||
|
||||
// Функции в пакете fmt вызывают метод String у объектов для получения
|
||||
// строкового представления о них.
|
||||
// Функции в пакете fmt сами всегда вызывают метод String у объектов для
|
||||
// получения строкового представления о них.
|
||||
fmt.Println(p) // Вывод такой же что и выше. Println вызывает метод String.
|
||||
fmt.Println(i) // тоже самое
|
||||
|
||||
@ -254,7 +256,7 @@ func learnConcurrency() {
|
||||
go inc(0, c) // go начинает новую горутину.
|
||||
go inc(10, c)
|
||||
go inc(-805, c)
|
||||
// Считывание всех трех результатов из канала и вывоод на экран.
|
||||
// Считывание всех трех результатов из канала и вывод на экран.
|
||||
// Нет никакой гарантии в каком порядке они будут выведены.
|
||||
fmt.Println(<-c, <-c, <-c) // канал справа, <- обозначает "получение".
|
||||
|
||||
@ -293,14 +295,14 @@ func (p pair) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
```
|
||||
|
||||
## Что еще почитать
|
||||
## Что дальше
|
||||
|
||||
Основа всех основ в Go это [официальный веб сайт](http://golang.org/).
|
||||
Там можно пройти туториал, поиграться с интерактивной средой Go и почитать
|
||||
объемную документацию.
|
||||
|
||||
Для ознакомления рекомендуется почитать исходные коды [стандартной библиотеки
|
||||
Go](http://golang.org/src/pkg/). Отлично задокументированая, она является
|
||||
лучшим источником для чтения и понимания Go, его стиля и идиом. Либо можно,
|
||||
кликнув на имени функции в [документации](http://golang.org/pkg/), перейти к ее
|
||||
исходным кодам.
|
||||
Для живого ознакомления рекомендуется почитать исходные коды [стандартной
|
||||
библиотеки Go](http://golang.org/src/pkg/). Отлично задокументированая, она
|
||||
является лучшим источником для чтения и понимания Go, его стиля и идиом. Либо
|
||||
можно, кликнув на имени функции в [документации](http://golang.org/pkg/),
|
||||
перейти к ее исходным кодам.
|
||||
|
Loading…
Reference in New Issue
Block a user