# Overviewinterfaceは大きく分けて2つの使い方があると考えてください(結局どちらも同じ)。 1つめは何でも入る型としての使い方で、2つめは関数を集めたものです。1つめは簡単で、2つめが少し複雑です。 1. 何でもはいる型としてのinterface既知の通りGolangは型に厳しいです。型に厳しいおかげで、コンパイラが色々教えてくれるのですが、時にはゆるーく型を扱いたい時があります。そのような時にinterfaceを使います。 package mainimport "fmt"func main() { var i interface{} i = 4 fmt.Println(i) //4 i = 4.5 fmt.Println(i) //4.5 i = "文字列だってはいるんだ" fmt.Println(i) //文字列だってはいるんだ }重要なのは、interfaceで定義
![48eba361c3b4](https://cdn-ak-scissors.b.st-hatena.com/image/square/b1643a0a376255aadb171a47a5bae07085e679b3/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2AJFKCRmeTVcTTAMuAMDNvEA.png)