猿问

在 Go 中的常量上下文中使用函数参数(参数)

是否有可能在常量上下文中使用函数的参数?
例如

func example(size int) {
  one := [size]int{}  // Error: non-constant array bound 'size' 
  const two = size    // Error: const initializer 'size' is not a constant
  }

在这些情况下不是有效常数size吗?如果不是,为什么?


呼如林
浏览 81回答 1
1回答

慕慕森

不,这在 Go 中是不可能的。Go 常量是编译时构造的,而参数值仅在运行时存在。规范:常量表达式:常量表达式可能只包含常量操作数,并在编译时求值。
随时随地看视频慕课网APP

相关分类

Go
我要回答