因为需要保证map线程安全,所以自己定义了几个结构几乎一样的结构,觉得这样子写好丑。有大神知道好的解决办法么?求指教
go不支持泛型或者模板
就像Russ Cox在下面那个link里写的, 你或者用interface{}然后放弃编译期类型安全,或者写你自己的代码生成器
https://news.ycombinator.com/...
可以使用interface就可以了
package main
import "fmt"
func main() {
test(5)
test(5.6)
}
func test(i interface{}){
fmt.Printf("type is %T \n",i)
}
//
type is int
type is float64
7 回答5.3k 阅读
6 回答6.8k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答3.3k 阅读
2 回答2.2k 阅读
1 回答2.1k 阅读
1 回答1.5k 阅读
golang是有类似你说的功能,它不就泛型,应该是interface,你只要定义了接口的函数就可以使用了,如果你想看一下例子,大概是这样的。下面是golang 关于sort的例子代码,你可以体会一下,这个是用interface,也是一种泛型的实现。