Golang判断类型示例

灰侠_bf44 · · 437 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

package main

import "fmt"

type Student struct {

    Name string

}

func TestType(items ...interface{}) {

    for k, v := range items {

        switch v.(type) {

        case string:

        fmt.Printf("type is string, %d[%v]\n", k, v)

        case bool:

        fmt.Printf("type is bool, %d[%v]\n", k, v)

        case int:

        fmt.Printf("type is int, %d[%v]\n", k, v)

        case float32, float64:

        fmt.Printf("type is float, %d[%v]\n", k, v)

        case Student:

        fmt.Printf("type is Student, %d[%v]\n", k, v)

        case *Student:

        fmt.Printf("type is Student, %d[%p]\n", k, v)

        }

}

}

func main() {

var stu Student

TestType("WD", 100, stu,3.3)

}

//type is string, 0[WD]

//type is int, 1[100]

//type is Student, 2[{}]

//type is float, 3[3.3]

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:灰侠_bf44

查看原文:Golang判断类型示例

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

437 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传