#【Golang】パッケージのインポート
Golangの基礎学習〜Webアプリケーション作成までの学習を終えたので、復習を兼ねてまとめていく。
基礎〜応用まで。
//package
package main
//標準パッケージ(ライブラリ)
//内部(自分のsrc)=ライブラリ
//それ以外=パッケージ 特に違いはない
//公式ドキュメントにパッケージ一覧がある https://golang.org/pkg/
//import "fmt"
//import "time"
//独自ライブラリ
//GOPATH/src 以下にライブラリ用フォルダを作成する。
//GOPATHに無いとimportできない
//importしたパッケージは使用しないとエラーになる
//複数の場合()で囲んだほうがいい
//import()
import (
"fmt"
"time"
//読み込む アルファベット順にする。自分のパッケージと、標準と分ける。
//Aproject
// |- Alib - a.go
// | |-under - b.go
// |- main.go
"AProject/Alib"
"AProject/Alib/under"
)
//パッケージの中身見る方法
//ターミナルで
//go doc fmt println
func main(){
fmt.Println("パッケージ")
fmt.Println("Hello world!", time.Now())
//PublicとPrivate スコープ
//独自ライブラリの関数使用例
//外部から呼び出す関数は、先頭大文字にする
//逆の場合、小文字にする。
Alib.Function()
//頭文字が小文字なので呼び出せない
under.function()
}
/*
mainパッケージの分割
main.goと同じ場所にmain2.goがあるとする。
このmain2.goの関数をmain.goで呼び出す場合、同じパッケージ内なのでライブラリの指定なしで呼び出せそう。
go run main.goで実行する場合、これはエラーになる。
go runコマンドはオプションで指定されたmain.goのみ実行対象として選択し、main2.goの存在を無視する為。
main2.goも含めて実行する場合、
go run main.go main2.goとするか、go run *.goとしなければならない.
mainのgoファイルがあるディレクトリには、main.goのみにする方が良さそう。
その他機能は、パッケージごとにディレクトリを作成して、その中で定義した方が見た目もよくなる。
*/