登录
首页 >  Golang >  Go问答

初始化常量变量

来源:Golang技术栈

时间:2023-04-24 21:09:18 271浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《初始化常量变量》,主要内容是讲解golang等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

问题内容

如何KILO用类型初始化变量const

const KILO = math.Pow10(3)

因为我有一个错误

const initializer math.Pow10(3) is not a constant

正确答案

常量声明不能包含函数调用(有一些例外,见下文),它们必须在编译时评估,而函数调用在运行时执行。

引用规范:常量:

常量值由runeinteger、[floating- point](https://golang.org/ref/spec#Floating- point_literals)、imaginarystring字面量、表示常量的标识符、常量表达式、结果为常量的转换或某些内置的结果值表示函数,例如unsafe.Sizeof应用于任何值,caplen应用于某些表达式,应用于常量和应用于数值常量的real复数。imag``complex

并引用规范:常量表达式:

常量表达式可能只包含常量操作数并 在编译时进行评估

请注意,有一小部分(内置)函数可以在常量声明中调用,例如unsafe.Sizeof(),但通常您不能这样做。

所以只需使用

const Kilo = 1000  // Integer literal

要么

const Kilo = 1e3   // Floating-point literal

有关 Go 常量的广泛介绍,请阅读博客文章:常量

如果由于某种原因确实需要调用函数,则不能将其存储在常量中,它必须是变量,例如:

var Kilo = math.Pow10(3)

另请参阅相关[的 10 的写入幂作为常量紧凑](https://stackoverflow.com/questions/34124294/writing- powers-of-10-as-constants-compactly/34145667#34145667)。

文中关于golang的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《初始化常量变量》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>