废话
为什么要给标题加上符号着重一下?难道编程语言中的思想不都是一样的吗?
的确,基本思想大同小异,各自实现的原理和设计哲学会有差异。
如果你之前没有使用过Go语言,那么你很自然的认为,Go语言中一定有assert
之类的操作符或函数。答案是没有,这可能会让你很失望,你兴冲冲地看着某篇介绍Go语言的文章,当看到Go中的关键字如此之少的时候,你或许会赞叹:如此简洁!但当你正式编写代码却发现:这语言用着很不爽!没有try catch
,没有泛型,没有断言,必须把起始括号放在语句末尾……
其实你陷入了一个误区,你以其他语言的视角来看待Go语言,自然得不到满意的结果。
问题
早晨我逛stackoverflow的时候看到了这个问题:
http://stackoverflow.com/questions/8103617/call-a-struct-and-its-method-by-name-in-go
我很自然的想用其他语言,如Python的字典,JS的对象字面量来对一个对象进行映射。
因此我这个学了几天Go的小财笔写了如下测试:
package main
i