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

Python025

Go语言中怎样判断数据类型,第1张

要判断数据类型,可以用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的类型信息,与上面不同的是:上面的方法要先知到它是几个类型中的一个,而这个方法可以对任意对象使用

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。

辗转相除法是判断两个数是否互质的,而不是应用在一个数上,是求两个数的大公约数。

辗转相除法的具体做法:用较小数除较大数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。

这是具体流程图,判断一个数是否是质数就是看它能否被除1以外的数整除。

你应该在两个cout句后加break;

for(j=2j<ki++)

{

if(i%j==0)

{cout<<i<<" 不是质数!"<<endlbreak}

else

{cout<<i<<" 是质数!"<<endlbreak}

}

k=sqrt(i)是因为因数都是关于一个数的平方根两两对称的