【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のみにする方が良さそう。


その他機能は、パッケージごとにディレクトリを作成して、その中で定義した方が見た目もよくなる。
*/
bannerAds