go特性学习

 而后我写了一些测试代码:
dept1 :=
    Dept{
        name:     "MySohu",
        building: "Internet",
        floor:    7}
switch v := interface{}(dept1).(type) {
case DeptModeFull:
    fmt.Printf("The dept1 is a DeptModeFull. ")
case DeptModeB:
    fmt.Printf("The dept1 is a DeptModeB. ")
case DeptModeA:
    fmt.Printf("The dept1 is a DeptModeA. ")
default:
    fmt.Printf("The type of dept1 is %v ", v)
}
deptPtr1 := &dept1
if _, ok := interface{}(deptPtr1).(DeptModeFull); ok {
    fmt.Printf("The deptPtr1 is a DeptModeFull. ")
}
if _, ok := interface{}(deptPtr1).(DeptModeA); ok {
    fmt.Printf("The deptPtr1 is a DeptModeA. ")
}
if _, ok := interface{}(deptPtr1).(DeptModeB); ok {
    fmt.Printf("The deptPtr1 is a DeptModeB. ")
}
打印出的内容
原文地址:https://www.cnblogs.com/zlingh/p/5702061.html