LoginSignup
0
0

More than 1 year has passed since last update.

Go言語のインターフェースについて

Last updated at Posted at 2023-02-21

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言語において、インターフェースは非常に重要な役割を果たしており、プログラムの柔軟性や拡張性を高めることができます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0