Go Урок 01: Первая строка кода

Go

头图

1. Перейти к созданию окружения

1. Установите Go
  • установить команду
brew install go
  • Посмотреть го версию
#查看版本(验证是否安装成功)
go version
2. Создайте новое местоположение GOPATH
  • В GOPATH есть в основном три каталога: bin, pkg, src; среди нихкаталог binВ основном хранить исполняемые файлы;каталог pkgХранить файлы скомпилированных библиотек, в основном файлы *.a;каталог srcВ основном он хранит файлы исходного кода Go.

  • Задайте расположение GOPATH в соответствии со своими привычками.Я создал новый каталог GoPath под документом, а затем создал в этом каталоге три подкаталога bin, pkg и src, как показано на следующем рисунке:

1568903259005

3. Конфигурация переменных среды
  • Объяснение переменной
GOROOT:Go的安装路径
GOPATH:若干工作区目录的路径。是我们自己定义的工作空间,存放Go源码,Go可执行文件,以及编译之后的库文件。
GOBIN:GO 程序生成的可执行文件
  • Откройте ~/.bash_profile и добавьте следующее
#GOROOT 
export GOROOT=/usr/local/opt/go/libexec 
#GOPATH 
export GOPATH=$HOME/Documents/GoWorkspace  
#GOPATH bin 
export PATH=$PATH:$GOPATH/bin  
#GOPATH root bin 
export PATH=$PATH:$GOROOT/bin
4. Конфигурация вступает в силу
source ~/.bash_profile

иллюстрировать: Если инструмент zsh установлен, выполнитеvi ~/.zshrcОткрыть.zshrc,Будуsource ~/.bash_profileВставьте его внизу и сохраните.

5. Просмотр конфигурации среды
#查看环境,观察GOROOT、GOPATH是否符合预期
go env

Ссылаться на:

2. Привет, мир

1. Установите GoLand
2. Новый проект

Проект находится в $GOPATH/src, в корневом пути проекта создайте новыйmain.goдокумент.

package main

import (
	"fmt"
)

func isBigNumber(a,b int) int{
	if a > b {
		return a
	}
	return b
}

func main()  {
	fmt.Println("比较大的数", isBigNumber(19,8))
}

иллюстрировать: проверьте, совпадают ли GOPATH и GOROOT Preference -> Settings → Go → GOROOT с ~/.bash_profile, а затем выполните Run.В случае успеха будут получены следующие результаты:

比较大的数 19
3. Модульное тестирование
$go get -u github.com/cweill/gotests/...
  • Выберите функцию, щелкните правой кнопкой мыши «Перейти к тесту» и выберите «Создать» для выбора, чтобы сгенерировать тестовый код.

image-20190919224346257

  • Добавьте тестовые примеры на основе сгенерированного тестового кода. Полный код выглядит следующим образом:
package main

import "testing"

func Test_isBigNumber(t *testing.T) {
   type args struct {
      a int
      b int
   }
   tests := []struct {
      name string
      args args
      want int
   }{
      // TODO: Add test cases.
      {
         args: args{
            a : 5,
            b : 12,
         },
         want : 12,
      },
   }
   for _, tt := range tests {
      t.Run(tt.name, func(t *testing.T) {
         if got := isBigNumber(tt.args.a, tt.args.b); got != tt.want {
            t.Errorf("isBigNumber() = %v, want %v", got, tt.want)
         }
      })
   }
}
  • Выполните тестовый код, результаты следующие (пройдите тест, отобразите PASS)

image-20190919224535050

4. Отладка Голанда
  • Запись отладки — это ошибка отладки справа, и вы можете добавить точку останова в код.

image-20190919225020733

  • Если сообщается о следующей ошибке:
could not launch process: debugserver or lldb-server not found: install XCode's command line tools or lldb-server
  • Решение: переустановите XCode-Select в терминале
xcode-select --install

3. Разработка необходимых вспомогательных инструментов

1. Почтальон
  • Установите Postman, адрес загрузки:www.getpostman.com/downloads/

  • Почтальон импортирует следующую конфигурацию запроса JSON

2. MySQL
# 启动MySQL服务
sudo /usr/local/MySQL/support-files/mysql.server start

# 停止MySQL服务
sudo /usr/local/mysql/support-files/mysql.server stop

# 重启MySQL服务
sudo /usr/local/mysql/support-files/mysql.server restart

# 登录
mysql -u root -p

4. Малый класс

1. получить команду

go getУказанный пакет кода и зависимые от него пакеты можно загрузить или обновить из Интернета в соответствии с требованиями и реальными условиями, а также их можно скомпилировать и установить.

название тэга описание тега
-d Пусть командная программа выполняет только действия по загрузке без выполнения действия по установке.
-f только в использовании-uДействителен только при наличии отметки. Этот флаг заставляет командную программу игнорировать проверку пути импорта для загруженного пакета кода. Это особенно важно, если загруженный и установленный пакет кода принадлежит проекту, который вы разветвили от кого-то другого.
-fix Позвольте командной программе выполнить корректирующее действие после загрузки пакета кода, а затем скомпилируйте и установите его.
-insecure Позволяет командной программе загружать указанный пакет кода с использованием небезопасной схемы (например, HTTP). Вы можете добавить этот флаг, если используете репозиторий кода (например, Gitlab внутри вашей компании), который не поддерживает HTTPS. Пожалуйста, используйте его, когда вы уверены, что это безопасно.
-t Позвольте командной программе одновременно загрузить и установить пакет кода, который зависит от исходного файла теста в указанном пакете кода.
-u Пусть команда использует сеть для обновления существующих пакетов кода и их зависимостей. По умолчанию эта команда загружает из сети только те пакеты кода, которые не существуют локально, и не обновляет существующие пакеты кода.

иллюстрировать: Обычно, когда мы используем команду go get, выбираем параметр -u. Реализация: Загрузите или обновите указанный пакет кода и его зависимости, а затем скомпилируйте и установите их.

2. пройти тест
  • go testэто инструмент для тестирования программ на языке го, в каталоге он*_test.goсуществует в виде файла иgo buildОн не компилируется как часть сборки.
  • Для дополнительной справки:перейти к тестовому модульному тесту

следовать за