golang可以使用关键字`type`和`switch`语句来进行类型判断。具体实现是,使用`type`关键字定义一个变量的类型,在使用`switch`语句时,根据变量的类型进行分支判断。

下面是一个示例代码:

package main

import "fmt"

func main() {
    var a interface{} // 定义一个空接口类型变量
    a = 1 // 给变量赋值,此时变量类型为int
    switch a.(type) {
    case int:
        fmt.Println("变量a的类型为int")
    case float64:
        fmt.Println("变量a的类型为float64")
    case string:
        fmt.Println("变量a的类型为string")
    default:
        fmt.Println("未知类型")
    }
}

在上述代码中,首先定义了一个空接口类型的变量`a`,并给其赋值为`1`,此时`a`的类型为int。然后使用`switch`语句对`a`的类型进行判断,根据类型的不同输出不同的结果。

代码输出结果为:

变量a的类型为int

代码中`a.(type)`使用了类型断言的语法,表示获取`a`变量的实际类型,并在`switch`语句中进行判断。

需要注意的是,`switch`语句中的每个分支必须是一个类型,不能是表达式或者常量。如果没有与`type`关键字匹配的类型,则会执行`default`分支的代码。

上述代码的完整示例可以参考:https://play.golang.org/p/4d4ga6rQg-R