![]() | 1 cmdOptionKana 2020-02-20 22:53:34 +08:00 ![]() 没有最佳,只有这个:interface{} 不过一般人不写框架,其实需要用到泛型的地方很少了。 |
![]() | 2 secondwtq 2020-02-20 23:59:20 +08:00 ![]() 当然是有最佳的,就是换 Java |
![]() | 3 rdZZZ 2020-02-21 00:15:00 +08:00 不是说 go2 会加上范型么,一致等着呢 |
![]() | 4 cmdOptionKana 2020-02-21 00:21:26 +08:00 @rdZZZ 传闻今年内实现 |
5 Akkuman 2020-02-21 00:24:34 +08:00 via Android interface 加 reflect |
![]() | 6 hst001 2020-02-21 00:43:46 +08:00 不存在的,短期也不会实现,要么换语言要么忍 |
7 halo117 2020-02-21 02:32:51 +08:00 via iPhone 不存在的,短期内不要奢望这个特性,提高性能还是 go 开发团队首先要处理的,除非有一个能保证表达能力和性能的泛型方案出来,否则一直鸽着这个特性的 |
8 Cbdy 2020-02-21 07:30:12 +08:00 via Android 等 go2 |
9 scnace 2020-02-21 08:24:40 +08:00 via Android 自动生成 |
![]() | 10 opentrade 2020-02-21 08:55:10 +08:00 via Android 我等了一年,只能选择离开,唯一割舍不下的是 goroutine |
![]() | 11 firemiles 2020-02-21 09:33:35 +08:00 想问下不支持函数重载,泛型怎么用,我常用泛型的场景就是函数重载支持多类型 |
12 justfortest 2020-02-21 09:43:56 +08:00 ![]() 最佳解决办法就是不用泛型。。。 还是 python 爽啊,动态类型一时爽,一直动态一直爽 |
13 darknoll 2020-02-21 09:51:22 +08:00 又不是自己写框架,用啥泛型啊,完全不需要 |
![]() | 14 rdZZZ 2020-02-21 10:00:20 +08:00 没泛型,interface 也不是不能用哈哈哈,只能等着了,而且泛型的需求好像也不是那么重要 |
15 |
![]() | 16 TangMonk 2020-02-21 10:10:59 +08:00 写一些公用库或者框架的时候泛型满重要的 |
17 ai277014717 2020-02-21 10:12:06 +08:00 昨天写包装接口请求时遇到这个问题。好像只能用 interface{}解决 https://gist.github.com/Kila2/789a84167b6c012147f621776c78a718 |
18 smallSoda 2020-02-21 10:35:17 +08:00 基本没用过泛型,绝大部分场景用不到,如果实在是要用,建议换个语言。没必要逼的 go 支持这个特性,每个语言都有自己的适用场景,指望一个语言变成全能不太现实。 |
19 salamanderMH 2020-02-21 11:37:22 +08:00 interface{} |
![]() | 20 reus 2020-02-21 11:54:05 +08:00 要灵活可以用 reflect 包,基本就是门动态语言了 要类型安全可以用代码分析和生成,有一点门槛 泛型可以解决上面两个的一些缺点,但也没法替代 |
![]() | 21 Fitz 2020-02-21 11:54:14 +08:00 我宁愿多写几个一样的函数也不想看到 interface{} 满天飞 |
22 useben 2020-02-21 12:40:11 +08:00 最终变成 c++? |
![]() | 23 keepeye 2020-02-21 12:43:46 +08:00 没有代码洁癖 有没有泛型无所谓 |
![]() | 25 guonaihong 2020-02-21 13:09:04 +08:00 interface{} 可以理解为运行时的泛型,这里有性能开销。 编译时的泛型,一起坐等 go2 吧。 |
![]() | 26 Actrace 2020-02-21 13:21:56 +08:00 最后改着改着,突然发现这不就是 php 嘛。 |
28 laragh 2020-02-21 13:58:58 +08:00 PHP 原生可不支持这么高的并发。 |
29 las917vki 2020-02-21 14:08:26 +08:00 interface 是 CPP 里面的 RTTI 这是被所有 CPP 程序员看作垃圾的东西 |
![]() | 30 cabing 2020-02-21 14:10:26 +08:00 比较废键盘。 |
![]() | 33 Yoock 2020-02-21 20:18:17 +08:00 via iPhone 反射吧 |
![]() | 34 tikazyq 2020-02-21 20:32:14 +08:00 via iPhone 反射 |
35 afpro 2020-02-21 20:36:49 +08:00 interface{} 最坑的是判断 nil 唉 |
![]() | 36 firemiles 2020-02-22 04:45:02 +08:00 @secondwtq #32 写泛型不就是在编译时为类型生成方法吗,既然如此同名方法不可避免,这个应该是大部分使用场景吧 |
37 dhssingle 2020-02-22 09:29:45 +08:00 via iPhone ![]() 换 C# |
![]() | 38 lcj2class 2020-02-22 13:56:59 +08:00 via iPhone 无脑 interface{} ,性能有要求用代码生成 go generate |
39 ice2neet 2020-02-24 15:38:45 +08:00 换语言 |
40 aliipay 2020-03-04 12:45:47 +08:00 希望楼主及有同样想法的尽早放弃这个想法 |
![]() | 42 sunshinev 2020-05-06 15:42:57 +08:00 如果明确自己想要的东西,那么一般用不到 interface{} 就是要费尽把 struct 定义好。 不过很 base 的 struct 可能会有 interface{} 来解析 web 的数据,比如像定义一个 type Ret struct { Code: int Data:interface{} } |