LoginSignup
1
1

More than 5 years have passed since last update.

Go言語を使ってみた

Posted at

自分用Golang勉強メモ

ゴール

とりあえず、インストールからHello Worldを出してみる

環境

  • OS: Windows 10 Home (64bit)
  • エディタ: 適当なテキストエディタ

インストールしてみる

  • 公式WEBに"Download Go"のリンクがあるので、クリックする。
  • 自分のマシンに合わせたバージョンをダウンロードする。(go1.7.5のインストーラ版にした)
  • 適当にインストールを進める。(インストーラ版だと、デフォルトでC:\直下に入る)

Goのバージョンを確認してみる

ターミナルで以下を打ってみる。

> go version  
go version go1.7.5 windows/amd64

インストーラを使えば、自動的にインストールフォルダにpathが通るハズ。

もし通ってなかったら自分で設定する。

GOROOT: "C:\Go\"

「Hello World」を出力してみる

お約束。

以下のソースを用意する。

Hello_World.go
package main

import "fmt"

func main() {
    fmt.Println("hello, world")
}

ビルドする。

とりあえずターミナル上げて、ソースのあるディレクトリまで移動。

> go build Hello_World.go

うん。エラーが出た。

GOHOMEのパスが通ってないよ。とのこと。

とりあえずソースのあるディレクトリにGOHOMEのパスを通して再度実行。

今度はOKみたい。

ソースディレクトリを見てみると、Hello_World.exeの実行ファイルが出来ている。

では早速実行してみる。

> Hello_World
hello, world

ちなみに以下のコマンドで実行すると、実行ファイルを作成せずに実行出来るらしい。

> go run Hello_World.go
hello, world

もうちょっと何かやってみる

せっかくなのでもう少し触ってみよう。

なんか凄く流行ってたので、便乗してみる。

Goのフレンズは既にいるけど、、、

元ネタ: わーい、すごーい

waisugoi.go
package main

import "fmt"

type Friends struct {
    skill string
}

func newFriends(skill string) *Friends {
    friends := new(Friends)
    friends.skill = skill
    return friends
}

func (f Friends) wai() string {
    return "わーい\n"
}

func (f Friends) sugoi() string {
    return "すごーい\n"
}

func (f Friends) tanoshii() string {
    return "たのしー\n"
}

func (f Friends) beFriend() string {
    return f.wai() + f.sugoi() + f.tanoshii() + "君は" + f.skill + "がとくいな、フレンズなんだね!!" + "\n"
}

func main() {
    var friends *Friends = newFriends("クソリプ")
    fmt.Println(friends.beFriend())
}

実行する。

> go run waisugoi.go
わーい
すごーい
たのしー
君はクソリプがとくいな、フレンズなんだね!!

まとめ

動くところまではもっていけたが、構造体と関数の紐づけもよくわからないまま。

とりあえず公式のドキュメント眺めながら、基本的な文法等を勉強する必要がありそう。

せっかくIntelliJが入っているので、次はgolangプラグイン入れて使ってみる。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1