以下是Golang代码中下一行代码的含义是什么?

huangapple go评论75阅读模式
英文:

What is the meaning of following line of code in Golang?

问题

在上面的代码中,asciiSpace是一个长度为256的uint8数组。数组的索引是ASCII码的值,而数组的值是布尔类型(0或1),表示对应的ASCII字符是否为空格字符。

'\t': 1表示水平制表符(ASCII码为9)是一个空格字符。
'\n': 1表示换行符(ASCII码为10)是一个空格字符。
'\v': 1表示垂直制表符(ASCII码为11)是一个空格字符。
'\f': 1表示换页符(ASCII码为12)是一个空格字符。
'\r': 1表示回车符(ASCII码为13)是一个空格字符。
' ': 1表示空格(ASCII码为32)是一个空格字符。

这些空格字符在代码中被用于判断某个字符是否为空格字符。如果某个字符的ASCII码对应的数组值为1,则表示该字符是一个空格字符。

英文:
var asciiSpace = [256]uint8{'\t': 1, '\n': 1, '\v': 1, '\f': 1, '\r': 1, ' ': 1}

how come we are allowed to have :1 in the code above and what is the meaning of that?

答案1

得分: 2

asciiSpace被声明为一个uint8类型的数组,索引范围为0到255(即ASCII范围),并且索引元素的值被设置为1

数组的索引以'\t''\n'等形式给出,表示它们指代空白字符。

我猜测你误解了"索引 : 值"的顺序。

一个类似的例子可以在一个(随机选择的)Go教程中找到。

英文:

asciiSpace is declared an array of uint8 with indexes 0 .. 255 (i.e. the ASCII range), and the values for the indexed elements are set to 1.

The array indexes are given as '\t', '\n' etc. indicating they refer to whitespace characters.

My guess is you misinterpreted the sequence "index : value".

A similar example is given in a (randomly chosen) Go Tutorial.

huangapple
  • 本文由 发表于 2022年4月17日 18:39:05
  • 转载请务必保留本文链接:https://go.coder-hub.com/71901172.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定