迹忆客 计算机编程题库

Go 经典面试题 部分二

关于 Go 中的 switch 语句,以下哪项是正确的?
  • 在 switch 表达式中,case 包含与 switch 表达式的值进行比较的表达式。
  • 在 switch 类型中,case 包含的类型与专门注释的 switch 表达式的类型进行比较。
  • 以上两者都是。
  • 以上都不是。
正确答案是:C
正确率:85%

解析:

  • 在 switch 表达式中,case 包含与 switch 表达式的值进行比较的表达式。
  • 在 switch 类型中,case 包含的类型与专门注释的 switch 表达式的类型进行比较。

以上两者都正确,因此本题选 C。

关于switch ,可以参考 Go Switch 选择语句

switch 示例

package main

import "fmt"

func main() {
   var x interface{}
     
   switch i := x.(type) {
      case nil:      
         fmt.Printf("type of x :%T",i)                
      case int:      
         fmt.Printf("x is int")                       
      case float64:
         fmt.Printf("x is float64")           
      case func(int) float64:
         fmt.Printf("x is func(int)")                      
      case bool, string:
         fmt.Printf("x is bool or string")       
      default:
         fmt.Printf("don't know the type")     
   }   
}

运行示例

查看笔记

扫码一下
查看教程更方便