doudg60800 2019-08-14 14:56
浏览 160
已采纳

如何查找类型是否为float64

I am trying to find if a variable is of type float64:

package main
import ("fmt")
func main() {
    myvar := 12.34
    if myvar.(type) == float64 { 
        fmt.Println("Type is float64.")
    }
}

However, it is not working and giving following error:

./rnFindType.go:6:10: use of .(type) outside type switch
./rnFindType.go:6:21: type float64 is not an expression

What is the problem and how can it be solved?

  • 写回答

1条回答 默认 最新

  • dougou8573 2019-08-14 15:12
    关注

    You know that myvar is a float64 because the variable is declared with the concrete type float64.

    If myvar is an interface type, then you can use a type assertion to determine if the concrete value is some type.

    var myvar interface{} = 12.34
    if _, ok := myvar.(float64); ok {
        fmt.Println("Type is float64.")
    }
    

    Try this program at https://play.golang.org/p/n5ftbp5V2Sx

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题
  • ¥50 Oracle Kubernetes服务器集群主节点无法访问,工作节点可以访问
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
  • ¥15 gsoap生成onvif框架
  • ¥15 有关sql server business intellige安装,包括SSDT、SSMS。
  • ¥15 stm32的can接口不能收发数据
  • ¥15 目标检测算法移植到arm开发板
  • ¥15 利用JD51设计温度报警系统