Запускаем MSYS2 MSYS:

$ pacman -S mingw-w64-i686-go
$ pacman -S mingw-w64-x86_64-go

Проверяем:

$ go version
bash: go: команда не найдена

Это объяснимо ведь мы ставили пакеты для соответствующих окружений.

Запускаем MSYS2 MinGW 32-bit:

$ go version
go version go1.8 windows/386

Запускаем MSYS2 MinGW 64-bit:

$ go version
go version go1.8 windows/amd64

Golang установлен в соответствии с разрядностью окружений MSYS2. Далее будем работать в окружении MSYS2 MinGW 64-bit:

$ go env
set GOARCH=amd64
set GOBIN=
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Users\amigachev\go
set GORACE=
set GOROOT=C:\Wtk\dev\msys\mingw64\lib\go
set GOTOOLDIR=C:\Wtk\dev\msys\mingw64\lib\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\Wtk\dev\msys\tmp\go-build226043647=/tmp/go-build -gno-record-gcc-switches
set CXX=g++
set CGO_ENABLED=1
set PKG_CONFIG=pkg-config
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2

Видно, что одна ОЧЕНЬ ВАЖНАЯ переменная GOPATH задана неверно - в недоступной для MSYS директории (за пределами директории в которую была произведена установка MSYS). Ее необходимо переопределить:

$ mkdir ~/go
$ echo "export GOPATH=~/go" >> ~/.profile
$ echo "export GOPATH=~/go" >> ~/.bash_profile

Перезапустим MSYS2 MinGW 64-bit и проверим:

$ go env GOPATH
C:/Wtk/dev/msys/home/amigachev/go

Теперь все верно.

Для полной проверки попробуем получить исполняемый файл консольного текстового редактора написанного на чистом Go - micro:

$ go get -d github.com/zyedidia/micro/
$ cd $GOPATH/src/github.com/zyedidia/micro
$ make install

Получим полностью рабочий исполняемый файл micro.exe (в директории $GOPATH/bin). Под MSYS он исполняться не будет из-за несовместимости терминалов, а вот под Windows x64 будет.