gpt4 book ai didi

go - 有没有办法在 golang 中定义可索引类型?

转载 作者:行者123 更新时间:2023-12-05 02:27:47 27 4
gpt4 key购买 nike

我最近遇到了一个通过直接索引进行图形处理的库,即 graph[key],我有一个节点树,它的子节点位于某个属性 node.childs[键].

我想知道是否有一种方法可以定义类型,以便可以通过直接键映射访问属性,例如 node[key] 将映射到 node.childs [键]。有没有办法在定义新类型时实现这一点?

最佳答案

不,不可能做你想做的事。规范不允许。 Spec: Index expressions:

A primary expression of the form

a[x]

denotes the element of the array, pointer to array, slice, string or map a indexed by x. The value x is called the index or map key, respectively. The following rules apply:

For a of array type A: [...]

For a of pointer to array type: [...]

For a of slice type S: [...]

For a of string type: [...]

For a of map type M: [...]

For a of type parameter type P: [...]

Otherwise a[x] is illegal.

只有这些列出的类型是可索引的,没有其他的。您甚至无法更改索引运算符 ( you can't override it) 的含义。

关于go - 有没有办法在 golang 中定义可索引类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72909615/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com