Go言語のインターフェースは、構造体や型に対してメソッドを定義し、それを利用するための型です。インターフェースは、プログラムの柔軟性を高め、コードの再利用性を高めることができます。
以下に、Go言語のインターフェースを使用した簡単なサンプルコードを記載。
Smaple Interface
// Animalインターフェースを定義します
type Animal interface {
Speak() string
}
// Dog構造体を定義します
type Dog struct {
Name string
}
// Dog構造体にSpeak()メソッドを定義します
func (d Dog) Speak() string {
return "わんわん"
}
func main() {
// Animalインターフェースを持つ変数を宣言します
var a Animal
// Dog構造体のインスタンスをAnimalインターフェースを介して代入します
a = Dog{"ポチ"}
// Animalインターフェースを介してDog構造体のSpeak()メソッドを呼び出します
fmt.Println(a.Speak()) // => わんわん
}
このサンプルでは、Animalというインターフェースを定義し、Dogという構造体にSpeak()メソッドを定義しています。そして、インターフェースの変数を定義し、Dog構造体のインスタンスを代入しています。最後に、インターフェースを介してSpeak()メソッドを呼び出しています。
このように、インターフェースは、様々な型や構造体に対してメソッドを定義し、それを利用することができる型です。Go言語において、インターフェースは非常に重要な役割を果たしており、プログラムの柔軟性や拡張性を高めることができます。