ErrNegativeSqrt是type不是一个变量。值存储在变量中。type ErrNegativeSqrt float64// x is a variable of type ErrNegativeSqrt with an initial value of -2var x ErrNegativeSqrt = -2更新:Go 编程语言规范常数有布尔常量、符文常量、整数常量、浮点常量、复数常量和字符串常量。字符常量、整数常量、浮点常量和复数常量统称为数字常量。常量值由符文、整数、浮点数、虚数或字符串文字、表示常量的标识符、常量表达式、结果为常量的转换或某些内置函数的结果值表示。 unsafe.Sizeof 等函数应用于任何值,cap 或 len 应用于某些表达式,real 和 imag 应用于复数常量,复数应用于数字常量。布尔真值由预先声明的常量 true 和 false 表示。预先声明的标识符 iota 表示一个整数常量。数字常量代表任意精度的值并且不会溢出。常量可以是有类型的或无类型的。文字常量、true、false、iota 和某些仅包含无类型常量操作数的常量表达式是无类型的。常量可以通过常量声明或转换显式指定类型,或者在变量声明或赋值中使用时或作为表达式中的操作数时隐式指定。转化次数转换是 T(x) 形式的表达式,其中 T 是一个类型,x 是一个可以转换为 T 类型的表达式。ErrNegativeSqrt(-2)是一种转换。无类型常量-2被转换为类型,ErrNegativeSqrt因为作为操作数,它可以用ErrNegativeSqrt的 float64基础类型表示。