![]() | 1 catror 2020-10-26 18:58:28 +08:00 ![]() 这个痛点和 Go 没关系吧,觉得难理解就不要这个设计自己的函数。最好的入门教程是官方的文档。 |
![]() | 2 suomy 2020-10-26 19:02:55 +08:00 ![]() > 这种函数传参可以传函数,然后传的函数还有返回值 没看到传的参数有返回值 |
3 mepwang 2020-10-26 19:03:28 +08:00 via iPhone ![]() 你就想像成,能使用变量的地方,也能使用函数,就好理解了。这么复杂的设计,恐怕好多年都遇不上一次 |
![]() | 4 t2doo OP |
![]() | 6 Finest 2020-10-26 19:26:05 +08:00 via Android |
7 ben1024 2020-10-26 19:38:24 +08:00 ![]() @t2doo swoole 能做的都可以用 go,主要应用在简单脚本,高频接口,低内存服务,长连接 php + go 配合挺香的 |
8 xjqxz2 2020-10-26 19:44:08 +08:00 GO 还行吧~ 不是很难的 |
![]() | 9 rrfeng 2020-10-26 19:48:44 +08:00 ![]() 函数是一种数据结构,自然也可以被另一个函数处理。 |
![]() | 10 labulaka521 2020-10-26 19:49:45 +08:00 via iPhone @suomy 我猜测他的意思可能是传入一个指针 然后返回后传入的指针就会被赋值 |
![]() | 11 index90 2020-10-26 19:54:11 +08:00 ![]() 你说的痛点是函数式编程,你可以先忽略,不是常用的 其他语法都很简单,重点是 channel,goroutine,看 sync.WaitGroup,errgroup,http 包源码,看看如何优雅关闭 channel,看看 ActiveObject,基本上就那几种用法了。 然后是面向接口的编程思想,如果你用 PHP 或者 Java 的 OOP 去套会很别扭的,我在这里花了比较长时间。 最后有余力可以看看函数式编程,Go 只是实现了一些功能,并不适合函数式编程。有些地方可以取巧,但是并不方便阅读,用的地方不多,也有可能我的 FP 道行太浅。 |
12 HuangLibo 2020-10-26 20:09:01 +08:00 这不就是一个闭包么 |
![]() | 13 di94sh 2020-10-26 20:12:13 +08:00 via iPhone 这种 php 比 go 用的更多吧,动态语言到处都是这种吧 |
![]() | 14 nonfu 2020-10-26 20:25:51 +08:00 ![]() 这里有个写给 PHPer 的 Golang 入门教程,所有语法都有和 PHP 的类比,应该看起来更轻松些: <https://xueyuanjun.com/books/golang-tutorials> Go 入门挺简单的,比起 Java 、C 之类。 |
![]() | 15 wd 2020-10-26 20:51:12 +08:00 动态语言转过去估计会比较痛苦。如果一直是强制类型的语言就还好。 |
![]() | 16 qloog 2020-10-26 21:51:39 +08:00 书籍:Go 语言编程<许世伟> 然后就可以找个项目就可以干起来了,写 web 或者 api 的都可以,比如: https://github.com/1024casts/snake |
17 pierreorz 2020-10-26 22:14:37 +08:00 会 JAVA 的学 GO 简直不要太容易 /我因为之前有个项目用 GO,逼着看了几天就会了,然后觉得比 JAVA 好用太多。不过目前没有项目练了。。。 |
18 qefrgty 2020-10-26 22:41:41 +08:00 很容易学,我原来速成过一遍, 过一遍基本知识也才五十几个笔记代码。 |
19 stupil 2020-10-26 22:43:28 +08:00 多用用。 |
![]() | 20 lithbitren 2020-10-26 22:48:46 +08:00 感觉是学过的语言里最容易的 |
![]() | 21 lazydog 2020-10-27 00:42:54 +08:00 via Android learning go with tdd? github 上有个老外写的,还不错,可以试试看。 |
![]() | 22 FaceBug 2020-10-27 01:11:19 +08:00 <?php $func = function (int $p1, int $p2): int { return $p1 + $p2; }; function b(callable $f, int $c): int { return $f(1, 2) * $c; } echo b($func, 5);//15 PHP 也是能这么写的 |
![]() | 23 catcn 2020-10-27 01:34:07 +08:00 ![]() 给你个豆列,久未更新:www.douban.com/doulist/3422454/ |
![]() | 24 raaaaaar 2020-10-27 07:18:03 +08:00 via Android 函数做参数不就是回调么。其他语言也有啊,主要是为了异步操作嘛 |
![]() | 25 treblex 2020-10-27 08:55:13 +08:00 ![]()  其实一个函数类型,可以独立出来写,表示这个函数预期的接收和输出 和其他语言的 callback 用法是一样的 |
![]() | 26 Rebely 2020-10-27 09:26:48 +08:00 之前写 python, 写 js, 后面去学 go 。go 的语法简单,api 少, 就是 interface 这个东西对我来说太难理解了。 面前可以看懂, 但根本不会设计 |
27 yuancoder 2020-10-27 09:40:40 +08:00 刚开始学,语法比较别扭,多看看就好了。 |
28 shubo83 2020-10-27 11:00:49 +08:00 你不知道 go 语言学了能干啥就开始学了,感觉有点太过焦虑了,另外一点就是如果一门语言学不好,大概率是因为基础还需要补补 |
![]() | 29 wweir 2020-10-27 11:18:59 +08:00 连这个都吐槽的话,估计你看我的代码的话会哭 |
![]() | 30 gunpowderfans 2020-10-27 12:04:31 +08:00 via Android 会 Javascript 的看了就懂,这个设计非常眼熟 |
31 chengyunbo 2020-10-27 15:44:58 +08:00 因为函数也是一种类型,interface 。 我也是从 PHP 转 golang,已经快两年了。 自己看视频吧,B 站一堆,完了自己多用。 |
32 CodeCodeStudy 2020-10-27 15:50:04 +08:00 Javascript 也可以传函数啊,函数也是一种类型 |