LoginSignup
4
1

More than 3 years have passed since last update.

Go言語に触れてみよう Part.1

Last updated at Posted at 2018-12-23

はじめに

 私が初めて"Go言語"について知ったのは、学校の課外活動で先輩の"Go言語"についてのLTでした。先輩がGo言語を使ってサーバーサイドをやっているのを、側から見ていただけでしたが、少し興味を持っていました。

 そして、実際に"Go言語"を触ったのが今年の夏、Webのライブ配信するサービスを開発するサマーインターンに参加したことがきっかけで触り始めました。

その時に勉強したことやつまづいたことなどを、まとめておきます。

参考サイト

以下の、サイトを参考。

ドキュメント

Tour of Go

Go言語 - 支援開発ツール

Go言語とは、、、

2009年にGoogleがリリースしたオープンソースのプログラミング言語です。

特徴は、一言で言うと『わかりやすい』です。構文・文法がシンプルでわかりやすいため可読性は高く、また書くときも直感的に書きやすいです。C言語に少し似ている部分があり、プログラミング経験者には、とっつきやすい言語であると思います。

Go言語はコンパイル言語であるため、処理が速いのも特徴の一つです。

Goの環境構築

環境

Mac Mojave 10.14.2
zsh

1. Goのインストール

Homebrew経由でインストールしていきます。
Homebrew

Homebrewが入っていない人は、以下のコマンドを叩いてください。

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

インストールできたら、以下のコマンドでGoをインストール。

$ brew install go

2. PATHを通す

goをインストールしたため、PATHを通してあげます。
bashは~/.bashrc、zshは~/.zshrcに以下を追加します。

export GOPATH=${HOME}/go
export PATH=$GOPATH/bin:$PATH

fishは~/.config/fish/config.fishに以下を追加。

set -x GOPATH ${HOME}/go
set -x PATH $PATH $GOPATH/bin

これで設定ができたため、

$ source ~/.zshrc

で反映させます。

環境構築ができたので、しっかりと動くか実際にコードを書いてやってみます。

動作確認

ドキュメントにある通りに動作させてみましょう。

1. ディレクトリの作成

Homeディレクトリから goディレクトリを作成して、移動します。

$ mkdir go
$ cd go

そして、そこからsrc/helloを作成して、移動します。

$ mkdir src/hello
$ cd src/hello

2. ファイル作成 & コードを書く。

では、実際にファイルを作成して、コードを書いていきます。IDEに関しては、ご自身が使っているもので構いません。私は、VSCodeを使ってやっていきます。

※VSCodeの方は、拡張機能を入れることをお勧めします。
image.png

まずは、ファイルを先ほど作成したディレクトリに作成します。Goの拡張子は、.goです。

$ touch hello.go

ファイルが作成できたら、いよいよコードを書いていきます。ドキュメント通り、
hello, worldを出力していきましょう。

hello.go
package main

import "fmt"

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

3. 実行する

ターミナルで、以下のコマンドを叩いて実行していきます。

$ go run hello.go

以下のように実行できたら、成功です。
image.png

また、C言語やJavaのようにgo build hello.goでコンパイルすることもできます。
image.png

今回はここまでとします。

次回予告

次は、 Tour of Goを元に構文・文法、または演習についてやっていきながら、
自分がつまづいた部分について触れていこうと思います。

4
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
4
1