LoginSignup
2
0

More than 5 years have passed since last update.

glot.io上でGo言語を複数ファイルに分けてコンパイル

Last updated at Posted at 2018-05-17

glot.ioという様々な言語のスニペットを実行・保存出来るサービスでGo言語を複数ファイルに分けた状態でコンパイルする方法についてまとめる。
Go言語で複数ファイルに分割する方法自体についての説明は省く。

同パッケージ(main)の場合

例: Golang package test1

ファイル

glot.ioで複数ファイル(main.go、dio.go)を作成した場合、以下のディレクトリ構成になっている。

.
├── dio.go
└── main.go

同パッケージ(main)でコンパイルする場合の例

main.go
package main

import (
    "fmt"
)

func main() {
    fmt.Println("Hello World!")
    PackageTest()
}
dio.go

func PackageTest() {
    fmt.Println("dio.go")
}

glot.ioの設定

WS000374.JPG.png

Gopherのアイコンをクリック

WS000376.JPG.png

Run Commandのチェックを入れて以下に変更

go run main.go dio.go

Runボタンを押す

別パッケージに分割する

例: Golang package test2

ファイル

dio.goを別パケージとする場合は以下のようなディレクトリ構成になればよい。

.
├── dio
│   └── dio.go
└── main.go

glot.ioの実行はDocker上(Goの場合ubuntuイメージ)で行われており、基本的なコマンド、シェルスクリプトも実行できる。そのため上記のディレクトリ構成でコンパイルするようにスクリプトを書いてあげればよい。

run.sh
#!/bin/bash

mkdir dio
mv dio.go dio

go run main.go

同パッケージ(main、dio)でコンパイルする場合の例

main.go
package main

import (
    "fmt"
    "./dio"
)

func main() {
    fmt.Println("Hello World!")
    dio.PackageTest()
}
dio.go
package dio

import (
    "fmt"
)

func PackageTest() {
    fmt.Println("dio.go")
}

glot.ioの設定

WS000375.JPG

Run Commandを以下の様に変更してRunボタンを押す。

bash ./run.sh
2
0
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
2
0