As rookie

ルーキーインフラエンジニアがインフラのこと以外も結構書いてしまうブログ

Go言語_初心者_環境作りからHello Worldまで

Go言語の勉強をそろそろはじめないと、社会の波に乗り遅れそうな気がしてきました。

初心者かつ、仕事であまりプログラミングをしない。
ので、効率よく勉強を進めれるか分かりませんが、とりあえず社会の波に揺られるぐらいにはなりたい。 そして、今回の記事は水辺に片足突っ込むための、

までです。

何から始めるか

Goの事をちょっと調べたら、とりあえず、A Tour of Go から始めようってなりますよね。

とりあえず、A Tour of Go を写経するツアーに参加するのはいかがでしょうか?
私はそうすることにしたいと思います。

それと平行して、環境を用意したいと思います。

環境

自分の環境

手順

  • Goを使えるようにする

    • バイナリをダウンロード
    • 適切なディレクトリに配置
    • .bash_profileにパスを通す記述を追記
  • vim-goを使えるようにする。

    • vim8(vim-enhanced)
    • vim-go
      • vim-goをclone
      • vim-goで使うバイナリをダウンロード

Go本体

バイナリをダウンロード、適切なディレクトリに配置

Downloads - The Go Programming Language このリンクのFeatured downloads から対象マシン(私の場合はLinux)を右クリックしてリンクのアドレスを取得する。そしてインストールする。

curl -LO https://dl.google.com/go/go1.9.4.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.9.4.linux-amd64.tar.gz
.bash_profileにパスを通す記述を追記
echo "export PATH=$PATH:/usr/local/go/bin" > ~/.bash_profile
source ~.bash_profile
$ go
Go is a tool for managing Go source code.

Usage:

    go command [arguments]

The commands are:

    build       compile packages and dependencies
    clean       remove object files
    doc         show documentation for package or symbol
    env         print Go environment information
    bug         start a bug report
    fix         run go tool fix on packages
    fmt         run gofmt on package sources
    generate    generate Go files by processing source
    get         download and install packages and dependencies
    install     compile and install packages and dependencies
    list        list packages
    run         compile and run Go program
    test        test packages
    tool        run specified go tool
    version     print Go version
    vet         run go tool vet on packages

Use "go help [command]" for more information about a command.
・
・
・

vim-goを使えるようにする。

vim

Vim 8 for CentOS Linux 7 – Karanbir Singh :: Thinkability @karan.org

GitHub - fatih/vim-go: Go development plugin for Vim

これらを参考に、vim8 + vim-go使えるようにする。

$ sudo vim /etc/yum.repos.d/vim8.repo
[mcepl-vim8]
name=Copr repo for vim8 owned by mcepl
baseurl=https://copr-be.cloud.fedoraproject.org/results/mcepl/vim8/epel-7-$basearch/
type=rpm-md
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://copr-be.cloud.fedoraproject.org/results/mcepl/vim8/pubkey.gpg
repo_gpgcheck=0
enabled=1
enabled_metadata=1
:qw
vimを一度アンインストールし、またインストールする
  • sudoが一度消えますが、またyumでインストールできます。
$ sudo yum remove vim-minimal-2:7.4.160-2.el7.x86_64
# sudoがないのでrootになる
$ su
$ yum install sudo
$ sudo yum install vim
git clone https://github.com/fatih/vim-go.git ~/.vim/pack/plugins/start/vim-go
vim-goでつかうバイナリをダウンロード
$ vim
:GoInstallBinaries

これでダウンロードができるはずです。

Hello World

Goの「Hello World」書く

vim hello.go
package main
  
import "fmt"

func main() {
        fmt.Println("vim-go")
}

vim-goがここまで勝手に書いてくれている。

package main
  
import "fmt"

func main() {
        fmt.Println("Hello World")
}

実行

$ go run hello.go 
Hello World
$ ls
hello.go
$ go build hello.go
$ ls
hello  hello.go
./hello
Hello world