首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >声明一个常量数组

声明一个常量数组
EN

Stack Overflow用户
提问于 2012-10-30 18:53:28
回答 2查看 201.2K关注 0票数 215

我试过了:

代码语言:javascript
复制
const ascii = "abcdefghijklmnopqrstuvwxyz"
const letter_goodness []float32  = { .0817,.0149,.0278,.0425,.1270,.0223,.0202, .0609,.0697,.0015,.0077,.0402,.0241,.0675, .0751,.0193,.0009,.0599,.0633,.0906,.0276, .0098,.0236,.0015,.0197,.0007 }
const letter_goodness  = { .0817,.0149,.0278,.0425,.1270,.0223,.0202, .0609,.0697,.0015,.0077,.0402,.0241,.0675, .0751,.0193,.0009,.0599,.0633,.0906,.0276, .0098,.0236,.0015,.0197,.0007 }
const letter_goodness = []float32 { .0817,.0149,.0278,.0425,.1270,.0223,.0202, .0609,.0697,.0015,.0077,.0402,.0241,.0675, .0751,.0193,.0009,.0599,.0633,.0906,.0276, .0098,.0236,.0015,.0197,.0007 }

第一个声明和初始化可以正常工作,但是第二个、第三个和第四个不能工作。

如何声明和初始化浮点数的常量数组?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-30 19:00:48

数组本质上不是不可变的;您不能使其成为常量。

你能得到的最近值是:

代码语言:javascript
复制
var letter_goodness = [...]float32 {.0817, .0149, .0278, .0425, .1270, .0223, .0202, .0609, .0697, .0015, .0077, .0402, .0241, .0675, .0751, .0193, .0009, .0599, .0633, .0906, .0276, .0098, .0236, .0015, .0197, .0007 }

注意[...]而不是[]:它确保你得到一个(固定大小)数组,而不是一个切片。所以值不是固定的,但大小是固定的。

票数 297
EN

Stack Overflow用户

发布于 2016-12-23 01:58:58

正如其他人所提到的,没有官方的Go构造。我能想象到的最接近的情况是返回一个切片的函数。通过这种方式,您可以保证没有人会操作原始切片的元素(因为它是“硬编码”到数组中的)。

我已经缩短了你的切片,使it...shorter...:

代码语言:javascript
复制
func GetLetterGoodness() []float32 {
    return []float32 { .0817,.0149,.0278,.0425,.1270,.0223 }
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13137463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档