Go语言中怎样判断数据类型

要判断数据类型,可以用Go的空接口:

建一个函数t 设置参数i 的类型为空接口,空接口可以接受任何数据类型

func t(i interface{}) { //函数t有一个参数i

switch i.(type) { //多选语句switch

case string:

//是字符时做的事情

case int:

//是整数时做的事情

}

return

}

i.(type)只能在switch中使用

这函数没有返回值,你可以自己加入

----------------------------------------------------------------------------

还可以用反射:

package main

import (

"fmt"

"reflect"

)

func main() {

var x float64 = 3.4

fmt.Println("type:", reflect.TypeOf(x))

}

这样就可以得出变量x的类型信息,与上面不同的是:上面的方法要先知到它是几个类型中的一个,而这个方法可以对任意对象使用

原文发布于微信公众号 - Golang语言社区(Golangweb)

原文发表时间:2016-04-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我和PYTHON有个约会

08.程序编程基础2~基本数据类型

布尔类型,一种特殊的数据类型,在python中可以取值为True或者False,用于表示只有两种结果的情况

9030
来自专栏Pythonista

Golang笔记之变量

9520
来自专栏靠谱PM

JavaScript基本语法(二)

1.if语句 2.if-else语句 3.三元表达式 4.if-else if-else if语句 5.switch-case 6.总结

8020
来自专栏前端架构与工程

【译】《Understanding ECMAScript6》- 第二章-函数

函数在任何一门编程语言中都是很重要的一个环节。JavaScript至今已有多年的历史,但是它的函数仍然停留在很初级的阶段。函数问题的大量堆积,以及某些函数非常微...

23170
来自专栏Pythonista

golang之指针

接受者变量代表的值实际上是源值的复制品。如果这个值不是指针类型,在值方法中就没有途径去改变源值。

11330
来自专栏前端黑板报

JS正则表达式入门篇

兰翠 就职于爱屋吉屋,出身后端现混迹于前端 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或...

26490
来自专栏开源优测

Python3选择排序

选择排序 概述 选择排序(Selection sort)是一种简单直观的排序算法。 它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在...

37560
来自专栏用户2442861的专栏

python strip()函数

http://www.cnblogs.com/kaituorensheng/archive/2013/05/23/3096028.html

14420
来自专栏Pythonista

面向对象进阶

反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。这一概念的提出很快引发了计算机科学领域关于应...

8720
来自专栏about云

spark开发基础之从Scala符号入门Scala

问题导读 1.Scala中有哪些常见符号? 2.本文讲了哪些符号? 3.你对符号的理解是什么? 4.<-,->,=>,Int=,_ 它们含义是什么?用在什么地...

38390

扫码关注云+社区

领取腾讯云代金券