Menu
Coddy logo textTech

Go ワークスペースとモジュール

CoddyのGOジャーニー「オブジェクト指向プログラミング」セクションの一部 — レッスン 2/107。

Goモジュールは、関連するGoファイルの集まりです。プロジェクトのルートにある go.mod ファイルは、モジュール名とGoのバージョンを宣言します。

ターミナルコマンドでモジュールを初期化します

go mod init myapp

これにより、go.mod ファイルが作成されます

module myapp

go 1.21

シンプルなプロジェクト構造

myapp/
├── go.mod
├── main.go
└── helper.go

すべてのファイルが同じパッケージを共有します

// helper.go
package main

func Double(n int) int {
    return n * 2
}
// main.go
package main

import "fmt"

func main() {
    result := Double(5)
    fmt.Println(result) // 出力: 10
}

go.mod ファイルは、プロジェクトをモジュールとして定義します。同じ package を宣言しているすべての .go ファイルは、お互いの関数に直接アクセスできます。go.mod 内のモジュール名は、プロジェクトを識別します。

challenge icon

チャレンジ

簡単

同じモジュールおよびパッケージ内の mathhelper.go を完成させてください:

  • Double — n * 2 を返します
  • Triple — n * 3 を返します
  • Square — n * n を返します

チートシート

Goモジュールは、プロジェクトのルートにある go.mod ファイルによって宣言された、関連するGoファイルの集まりです。

モジュールを初期化します:

go mod init myapp

これにより、go.mod ファイルが作成されます:

module myapp

go 1.21

同じパッケージ内のすべての .go ファイルは、お互いの関数に直接アクセスできます:

// helper.go
package main

func Double(n int) int {
    return n * 2
}
// main.go
package main

import "fmt"

func main() {
    result := Double(5)
    fmt.Println(result) // 出力: 10
}

自分で試してみよう

package main

import "fmt"

func main() {
    var n int
    fmt.Scan(&n)

    fmt.Printf("Double: %d\n", Double(n))
    fmt.Printf("Triple: %d\n", Triple(n))
    fmt.Printf("Square: %d\n", Square(n))
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

オブジェクト指向プログラミングのすべてのレッスン