任意の型を受け取る関数
【開発環境】
OS:Win11(64ビット)
go version go1.19.4 windows/amd64
VSCode1.72.2、及びコマンドプロンプト
◆任意の型を受け取る関数
関数の引数を、interface{}型にすることで、任意の型の値を受け取ることができる。
・サンプルコード
// interint.go
package main
import "fmt"
//print - 整数から10進数と16進数で出力する関数
func print(a interface{}) {
v, ok := a.(int) // intであるか調べる
if ok {
fmt.Printf("10進数で%d 16進数で%x\n", v, v)
} else {
fmt.Println(a)
}
}
func main() {
print(32)
print("Hello World")
print(123.45)
}
・実行
PS D:\GO言語\サンプルプログラム\Go-7\インターフェース> go run interint.go
10進数で32 16進数で20
Hello World
123.45