package main import "fmt" type students struct { Name string Age string } type teacher struct { Name string Phone string } type School interface { students | teacher } func testInterface[T School](s T) { fmt.Println(s) } func testNoInterface[T students | teacher](s T) { fmt.Println(s) } func testAny[T any](s T) { fmt.Println(s) } func main() { a := students{Name: "aid"} b := teacher{Name: "bid"} testInterface(a) testNoInterface(a) testAny(a) testAny(b) }