感觉 go 语法好诡异

2018-01-23 11:38:44 +08:00
 boywhp

昨天学习了下 go 语言,一开始画风还挺正常的,直到我看到数组和 MAP,感觉语法好绕人

具体见 https://tour.golang.org/moretypes/22

感觉 go 语言比 Python 绕脑子多了啊

个人用过 C 和 PYTHON

7879 次点击
所在节点    Go 编程语言
81 条回复
boywhp
2018-01-23 15:31:15 +08:00
好吧!这里我还是要感谢各位朋友热情指点,我大致了解了 go 的优缺点,虽然我已经操起了 pycharm
2225377fjs
2018-01-23 15:33:15 +08:00
哈哈,上面有人说:“ golang 你看别人写的代码,比 python 还要清晰易懂”
这是真的么。。
49gd
2018-01-23 15:42:47 +08:00
c 基本是底层语言了吧 怎么替代他。。
owenliang
2018-01-23 15:49:12 +08:00
你如果搞过 C,我觉得 GO 应该是你喜欢的东西吧?也许只是没有实际项目上手而已,写起来是很痛快的。
zjsxwc
2018-01-23 16:00:23 +08:00
Go 语法还好吧,习惯就好,不过写的代码方法名首字母大小写混合起来用,逼死强迫症。。
但起码 Go 写起来比 C 爽
mooncakejs
2018-01-23 16:15:58 +08:00
我是不会懂 make(map[int]string) 还觉得方便的人的思维的
为什么总喜欢自行一套,不支持泛型,对 array,map 开个后们也行啊,map<int,string>() 不好吗,又没有学习成本。
wizardforcel
2018-01-23 16:41:13 +08:00
@boywhp 都是 AOT 的,谁也差不多。你需要自己提供 benchmark。
PureWhite
2018-01-23 17:00:50 +08:00
@boywhp 如果你永远想着躺在别人的轮子上工作,你是创造不出新的东西的。比如我现在工作中,很多东西是没有轮子可以用的,我们是在自己造轮子。
人各有志,如果你只是想一辈子当一个普通程序猿,调用调用别人的 API,当个 API 搬运工,那欢迎使用 Python。
或者如果你是精通系统底层大牛,追求极致性能或者喜欢自己动手管理内存等,那欢迎使用 C。
每个语言有其设计出来的目的和取舍,没有东西是十全十美的,就像 C/C++,Python,Java 都有其各自的优劣,Go 也是如此。
语言之争是没意义的,说到底,语言只是工具,关键就在于你能不能扬长避短,对于你的业务选择合适的语言。
比如你既然觉得 Python 好,为什么不用 Python 写系统?你既然觉得 C 好,为什么不用 C 写你的所有项目?
realpg
2018-01-23 18:04:38 +08:00
@htfy96 #13
因为 google 装逼效应嘛
就差让家里老太太扔了微信翻墙用 telegram 了
chaselen
2018-01-23 18:30:39 +08:00
当初写 C# 转 Objective-C 的时候也是感觉很诡异。几个月后才适应
koebehshian
2018-01-23 19:06:59 +08:00
确实诡异,将数据放到管道的写法是 channel <- data, 从管道读一个值给变量还要加等号 data = <-channel
miketeam
2018-01-23 19:12:14 +08:00
用过 oc 的表示 go 好亲切
justfly
2018-01-23 19:56:29 +08:00
我一开始也这样,过了一两年就习惯了。

PS. 我现在觉得 Java 语法 + golang runtime 用起来会比较舒服。
mason961125
2018-01-23 20:03:27 +08:00
@koebehshian 难道不是很形象吗?
huclengyue
2018-01-23 20:10:37 +08:00
@Luckyray kotlin 也这样。。。习惯就好
WildCat
2018-01-23 20:11:57 +08:00
Bad programmers worry about the code. Good programmers worry about data structures and their relationships.
-- Torvalds, Linus (2006-06-27).
koebehshian
2018-01-23 20:17:07 +08:00
@mason961125 我觉得直接 data <- channel 就行了。可能赋值有 = 与 := 两种,所以变成 data = <- channel 这样两个运算符写在一起很奇怪
muziki
2018-01-23 20:28:14 +08:00
muziki
2018-01-23 20:30:01 +08:00
@cabing 仅仅就楼里提的比较多的变量名来说,rust 的冒号显然可读性提高了不少,go 要靠用户自己去分词
0915240
2018-01-23 20:44:45 +08:00
javaer 表示还好 能接受

scala 倒是放弃了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/425177

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX