外部ファイル
CoddyのGOジャーニー「オブジェクト指向プログラミング」セクションの一部 — レッスン 1/107。
Goでは、同じパッケージ内の複数の.goファイルにコードを分割することができます。同じpackage宣言を共有するすべてのファイルは、お互いの関数や型に直接アクセスできます。インポートは不要です。
// helper.go
package main
func Add(a, b int) int {
return a + b
}同じパッケージの別のファイルでその関数を使用する
// main.go
package main
import "fmt"
func main() {
result := Add(3, 5)
fmt.Println(result) // 出力: 8
}両方のファイルで package main を宣言しているため、Add はインポートなしで main.go で利用可能です。これにより、コードを同じパッケージ内に保ちながら、論理的なファイルに整理することができます。
チャレンジ
簡単helper.go 内に、main.go で使用される2つの関数を作成してください:
Add— 2つのintパラメータを受け取り、その和を返しますSubtract— 2つのintパラメータを受け取り、その差を返します
チートシート
同じパッケージ内であれば、コードを複数の .go ファイルに分割することができます。同じ package 宣言を共有するすべてのファイルは、インポートすることなく、お互いの関数や型に直接アクセスできます。
// helper.go
package main
func Add(a, b int) int {
return a + b
}// main.go
package main
import "fmt"
func main() {
result := Add(3, 5)
fmt.Println(result) // 出力: 8
}両方のファイルが package main を宣言しているため、一方のファイルで定義された関数は、インポート文なしでもう一方のファイルで使用できます。
自分で試してみよう
package main
import "fmt"
func main() {
var a, b int
fmt.Scan(&a, &b)
fmt.Printf("Sum: %d\n", Add(a, b))
fmt.Printf("Difference: %d\n", Subtract(a, b))
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
オブジェクト指向プログラミングのすべてのレッスン
1Go オブジェクト指向の基礎
外部ファイルGo ワークスペースとモジュールパッケージとインポート公開された名前と非公開の名前Go におけるオブジェクト指向入門クラスとしての構造体構造体へのメソッド定義ポインタレシーバと値レシーバ構造体の初期化コンストラクタ関数まとめ:簡易計算機8エラー処理とOOP
error インターフェースカスタムエラー型エラーラッピング (fmt.Errorf)センチネルエラーerrors.Is() と errors.As()Panic、Defer、Recover復習 - ファイルパーサー