【初学者】Go言語 Lesson.1


はじめに

今後面談予定の企業ではGo言語を使用中。
JavaやPHPやC言語等はよく見かけるが、私の応募する業界ではあまり拝見することがなかったため、学習をすることとした。

Go言語とは

  2009年に 「Google」 が 「プログラミングの環境改善」 を目的とし開発したプログラミング言語

※ 正式名称は「Go」だが、これだけだと違う意味にとらえられるので、「Go言語」「Golang」と呼ばれている。

【開発背景と開発目的】

     現代はどんどんwebサービスが高度化している
              ↓
       内部のコードも比例して複雑化する
              ↓
       システム開発の生産効率が落ちる

これらの問題を解決しようと、Google内で「プログラミングの環境改善」を目的として開発された。

特徴

 「シンプル」 かつ 「高速な処理が可能」 なプログラミング言語

◉高速な処理
 ⇨ コンパイラ言語であるため 
 ⇨ 仮想マシンを介さずに実行するため
◉シンプルな構文
 ①while文がない②継承がない③ジェネリスクがない。
 ⇨ 機能を最小限に抑えていることやコードのばらつきを防ぐため
 ⇨ 学習難易度が低め
 ⇨ 開発効率をあげることができる
◉マルチプラットフィームのため、環境を選ばず使用可能。
 ⇨ 規模の大きいシステム開発にも適している言語。
◉JavaやC言語と似た構文でコードが書ける。
 ⇨ C言語を意識しながら設計されている言語のため

環境構築

  1) 「Go」
  2) 「Goの拡張機能」  をインストールする。

【Goをインストールする】

「ターミナル」を使用し、インストールしていく。
1、まずは、homebrewを最新バージョンにしておく。

% brew update

2、「Go」をインストールする。

% brew install go


3、インストールされているか確認する

% go version


画像の様にバージョンが返ってくればOK

【VScodeにGo拡張機能をインストールする】

1、VScodeの「Extensions」にてGoを検索し、インストールする。

実行

1、フォルダを作成し、ファイルを作成する。拡張子は「ファイル名.go」でOK。

2、記述していく

Greeting.go
package main
import ("fmt")

func main(){
    fmt.Printlin("Good morning")

    fmt.Printlin("Good morning")

    fmt.Printlin("Good morning")
}

◉Goのプログラムは何らかのパッケージに属している必要がある。
◉また、Goのプログラムのそのうちの一つは、必ずmainパッケージに属している必要がある。
◉fmt=フォーマットの略、fmtというパッケージをインポートすることで、fmtパッケージの中にある関数などを使えるようになる。
◉fmtパッケージのようなよく使う関数をひとまとめにして、「パッケージ」という形で準備。提供している。
◉mainというパッケージに属するmain関数を記述する、
◉Goのプログラムは、mainパッケージの中にあるmain関数からプログラムがスタートする。
◉プログラムがスタートする場所のことは「エントリーポイント」という
◉「fmt.println("")」にてfmtパッケージにあるPrintln関数を使って文字列を表示させる

3、ソースコードの実行
 
◉Goはコンパラ言語のため、コンパイルをして、実行ファイルを作ってから実行することとなる。
そのため、
1)ターミナルを表示させる。

2)コマンド入力

  % go build ファイル名.go

実行すると

Greetingという新しいファイルができるので、このファイルを実行する。

  % ./ファイル名  


【コンパイルと実行を同時にする方法】

% go run ファイル名.go