处理语法树时,需要这样的数据结构,可以返回:
string 'string'
bool true/false
[]string ['name', 'value']
嵌套的切片 ['name', ['name', 'string']]
不知要如何设计这个数据结构呢?
这是个不错的思路,但数据类型太多,似乎有些太浪费内存了。
```go
type atom struct {
type string
str string
bool boolean
array []string
atoms []atom
name string
value atom
}
switch atom.type {
case 'str' : atom.str;
case 'true' : atom.bool
case 'array': atom.array
case 'atoms': atom.atoms
case 'atom', name := atom.name; value := atom.value
}
```
#2
更多评论