title: When type is []byte, it fails at case statement in golang
body: <pre><code>func Test(val any) {
      switch reflect.TypeOf(val) {
      case nil://ok
      case string://ok
      case []byte://error here,expected expression
      }
  }
  </code></pre>
  <p>As the code above, I am trying to make some statement according to the type of input value. However it  fails to pass the grammer check when the type of input value is <code>[]byte</code>.  How to fix this
  problem?</p>
  <p>I found an example and I think is what I need:</p>
  <pre><code>    switch v.(type) {
      case *string:
      case *[]byte:
      case *int:
      case *bool:
      case *float32:
      case *[]string:
      case *map[string]string:
      case *map[string]interface{}:
      case *time.Duration:
      case *time.Time:
      }
  </code></pre>