мета-данные страницы
Загрузка не удалась. Возможно, проблемы с правами доступа?
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версияПоследняя версияСледующая версия справа и слева | ||
golang [21/04/2016 14:03] – ybezrukov | golang [21/04/2016 22:56] – [Определение переменных и констант] vlasov | ||
---|---|---|---|
Строка 24: | Строка 24: | ||
- скачиваем по ссылке [[https:// | - скачиваем по ссылке [[https:// | ||
- распаковываем в домашней директории под именем $HOME/go; | - распаковываем в домашней директории под именем $HOME/go; | ||
- | - устанавливаем системные переменные и изменения в переменной $PATH путем редактирования файла .profile< | + | - устанавливаем системные переменные и изменения в переменной $PATH путем редактирования файла .profile |
+ | < | ||
+ | EXPORT GOROOT=" | ||
EXPORT GOPATH=" | EXPORT GOPATH=" | ||
- | EXPORT GOBIN=" | + | EXPORT GOBIN=" |
+ | </ | ||
Строка 35: | Строка 38: | ||
==== Минимальный набор элементов ==== | ==== Минимальный набор элементов ==== | ||
- | < | + | < |
package main | package main | ||
import " | import " | ||
Строка 79: | Строка 82: | ||
Полная форма задания переменных выглядит примерно так: | Полная форма задания переменных выглядит примерно так: | ||
- | < | + | < |
var x float64 = 1.234 | var x float64 = 1.234 | ||
</ | </ | ||
Строка 91: | Строка 94: | ||
Но так как поддерживается динамическая типизация, | Но так как поддерживается динамическая типизация, | ||
- | < | + | < |
var x = 1.234 | var x = 1.234 | ||
print (x) | print (x) | ||
- | +0.000000e+000 | + | +1.234000e+000 |
</ | </ | ||
или даже проще (как присваивание в Pascal' | или даже проще (как присваивание в Pascal' | ||
- | < | + | < |
x := 1.234 | x := 1.234 | ||
print (x) | print (x) | ||
- | +0.000000e+000 | + | +1.234000e+000 |
</ | </ | ||
Строка 120: | Строка 123: | ||
Рассмотрим на примере. Создадим простейшую структуру, | Рассмотрим на примере. Создадим простейшую структуру, | ||
- | < | + | < |
type pupil struct { | type pupil struct { | ||
name string | name string | ||
Строка 132: | Строка 135: | ||
Определить новую переменную данного типа можно и объявлением: | Определить новую переменную данного типа можно и объявлением: | ||
- | < | + | < |
var dima pupil | var dima pupil | ||
</ | </ | ||
(поля будут инициализированы нулями и пустыми строками), | (поля будут инициализированы нулями и пустыми строками), | ||
- | < | + | < |
var dima = new(pupil) | var dima = new(pupil) | ||
</ | </ | ||
(об указателях, | (об указателях, | ||
Но можно сделать инициализацию в стиле Go: | Но можно сделать инициализацию в стиле Go: | ||
- | < | + | < |
dima := pupil{name: " | dima := pupil{name: " | ||
</ | </ | ||
Строка 147: | Строка 150: | ||
Теперь к свойствам можно обращаться в ООП-стиле: | Теперь к свойствам можно обращаться в ООП-стиле: | ||
- | < | + | < |
fmt.Println(dima.name, | fmt.Println(dima.name, | ||
</ | </ | ||
Строка 154: | Строка 157: | ||
Методы, | Методы, | ||
- | < | + | < |
func (p pupil) habitus() float32 { | func (p pupil) habitus() float32 { | ||
return ((p.height - 110) - p.weight) | return ((p.height - 110) - p.weight) | ||
Строка 161: | Строка 164: | ||
После ключевого слова ' | После ключевого слова ' | ||
- | < | + | < |
dima := pupil{name: " | dima := pupil{name: " | ||
fmt.Println(dima.name, | fmt.Println(dima.name, | ||
Строка 174: | Строка 177: | ||
=== Вывод === | === Вывод === | ||
- | < | + | < |
package main | package main | ||
func main() { | func main() { | ||
Строка 183: | Строка 186: | ||
Тем не менее, стандартным способом вывода считается такая конструкция: | Тем не менее, стандартным способом вывода считается такая конструкция: | ||
- | < | + | < |
package main | package main | ||
import " | import " | ||
Строка 196: | Строка 199: | ||
== Попроще == | == Попроще == | ||
- | < | + | < |
package main | package main | ||
import " | import " | ||
Строка 216: | Строка 219: | ||
Используется буфер! | Используется буфер! | ||
- | < | + | <hidden кликнуть чтобы скрыть> |
+ | < | ||
package main | package main | ||
import ( | import ( | ||
Строка 254: | Строка 258: | ||
} | } | ||
</ | </ | ||
+ | </ | ||
Примеры взяты тут: [[http:// | Примеры взяты тут: [[http:// | ||
+ | |||
+ | < | ||
===== Создание собственного web-сервера ===== | ===== Создание собственного web-сервера ===== |