douya7282 2015-08-22 20:50
浏览 12
已采纳

随身带开关盒不同类型

The following program doesn't compile due to type mismatch error(int vs bool)

package main

import "fmt"

func main() {
    i := 5
    switch i {
    case 4:
        fmt.Println("4")
    case i > 8:
        fmt.Println("i is greator than 8")
    }
}

As someone from Dynamic Typing background, this the above is bit of a culture shock. so wondering what's the idiomatic way do this in GO?

  • 写回答

1条回答 默认 最新

  • drob50257447 2015-08-22 20:55
    关注

    Just use a generic switch:

    func main() {
        i := 5
        switch {
        case i == 4:
            fmt.Println("4")
        case i > 8:
            fmt.Println("i is greator than 8")
        default: 
            fmt.Printf("i = (%v), i != 4 && i <= 8
    ", i)
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 用Multisim设计汽车尾灯控制电路
  • ¥15 关于#java#的问题,请各位专家解答!(开发工具-eclipse)
  • ¥100 求用matlab求解上述微分方程的程序代码
  • ¥15 MAC安装佳能LBP2900驱动的网盘提取码
  • ¥400 微信停车小程序谁懂的来
  • ¥15 ATAC测序到底用什么peak文件做Diffbind差异分析
  • ¥15 安装ubantu过程中第一个vfat 文件挂载失败
  • ¥20 GZ::CTF如何兼容一些靶机?
  • ¥15 etcd集群部署问题
  • ¥20 谁可以帮我一下问一下各位