Goを勉強しようと思って結構経ってしまったが、今さらながらとりあえず環境構築しようと思ったのでやってみて、世界に挨拶しておいた。
Goのインストール
Ubuntu18.04LTSにインストールした。
$ uname -r 4.15.0-20-generic $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04 LTS Release: 18.04 Codename: bionic
ソースからインストールすべきなのか、主流なやり方がわからなかったので、公式のWikiにやり方が書かれてあったのでとりあえずそれをそのまま実行してみただけ。
ちなみにソースコードは以下から取得可能。
まずはPPAの登録。以下の出力の後、メッセージ通りに[ENTER]を押せば登録完了。
$ sudo add-apt-repository ppa:gophers/archive Co-installable packages of Go 1.4, 1.5, 1.6, 1.7, 1.8, and tip for Ubuntu Trusty, Wily, Xenial and Yakkety. Installing golang-1.X installs the latest point release of Go 1.X. I add the odd patch to keep older versions of Go building with new toolchains, but I do *not* make any effort to backport security fixes to Go releases that are not supported by upstream. Buyer beware! The golang-tip package is a bit different, it will always track Go tip (it is updated manually and somewhat erratically currently). I start uploading a release when its first beta is released, so e.g. I uploaded a golang-1.7 package after 1.7 beta 1 was released. So these packages can be co-installable, they do not install anything to /usr/bin. Once you have installed the golang-1.X package, you will need to add /usr/lib/go-1.X/bin (or maybe /usr/lib/go-tip/bin) to your $PATH, or you can just invoke /usr/lib/go-1.X/bin/go directly. The packages all Recommend: appropriate versions of the runtime race detector support on amd64, which are also built in this PPA. 詳しい情報: https://launchpad.net/~gophers/+archive/ubuntu/archive [ENTER] を押すと続行します。Ctrl-c で追加をキャンセルできます。 :
後は普通のパッケージインストールと同様に、パッケージ情報を更新してインストールするだけ。
$ sudo apt-get update $ sudo apt-get install golang-1.10-go
以下にインストールされている。
$ /usr/lib/go-1.10/bin/go version go version go1.10.1 linux/amd64
これでインストール完了。
パッケージインストール時のGOROOT
とかGOPATH
とかはどうすべきなのかまだわかってない。
GoでHello World
ということで世界に挨拶してみる。 コードは以下。
package main import "fmt" func main() { fmt.Printf("Hello world !!\n") }
上記のコードは以下のGoのチュートリアルに載っているものをそのまま。
import fmt
は入出力を扱うパッケージをインポートしているとのことだが、package main
はまだちゃんとわかっていない。
package main
を外して実行すると以下のエラーになったので必要な関数?とかを使うために必要みたいなものなんだろうか。
$ /usr/lib/go-1.10/bin/go run hello.go package main: hello.go:2:1: expected 'package', found 'import'
コードを正常な形に戻して実行。
$ /usr/lib/go-1.10/bin/go run hello.go Hello world !!
まとめ
Goのインストール手順とHello Worldについて書いた。 世界に挨拶するまでは簡単...