Nginx 多域名 https 協議代理
阿新 • • 發佈:2022-03-16
package main import "fmt" func test1() { var a interface{} // 空介面可以實現任何型別的變數 var b int =100 a = b fmt.Printf("test1 00> %T %v \n",a,a) var c string = "hello" a = c fmt.Printf("test1 01> %T %v \n",a,a) var d map[string]int = make(map[string]int,100) d["abc"] = 100 d["eke"] = 30 a = d fmt.Printf("test1 02> %T %v \n",a,a) } func describe(i interface{}){ fmt.Printf("Type =%T, value=%v\n",i,i) } func test2() { s := "Hello World" describe(s) i := 55 describe(i) strt := struct{ name string }{ name : "Naveen R", } describe(strt) } func findType(i interface{}) { switch i.(type) { case string: fmt . Printf("I am a string and my value is %s\n", i.(string)) case int: fmt. Printf("I am an int and my value is %d\n", i.(int)) default: fmt. Printf( "Unknown type\n" ) }} //介面型別的變數就是一個容器,該容器能存放任何實現了該介面方法的物件例項 func main() { test1() test2() findType("hello") findType(77) findType(89.98) }
輸出:
test1 00> int 100
test1 01> string hello
test1 02> map[string]int map[abc:100 eke:30]
Type =string, value=Hello World
Type =int, value=55
Type =struct { name string }, value={Naveen R}
I am a string and my value is hello
I am an int and my value is 77
Unknown type