forl

第 3069 号会员 /

回复了 sky123 创建的主题: php VS nodejs VS golang

楼主的选择恐惧太严重了,你发的其他帖子都是这样的

回复了 jockchou 创建的主题: Go接口继承的一些疑问

我这样写是不是表示Student实现了上面所有三个接口?

不是 Student 实现了上面三个接口,而是 *Student 实现了上面三个接口。这也是为什么报错和不报错的原因。

回复了 wendaozhe 创建的主题: 哪位给讲讲这有啥不同

按照意思应该是为了线程安全吧,要看看rand.Int()的文档

‘———————-
更新,文档里说了『The default Source is safe for concurrent use by multiple goroutines.』
如果是为了线程安全的话,这样做好像是多此一举,估计有其他的目的。

回复了 blackcat242 创建的主题: 请问下,golang.org有什么办法可以访问的么,很多东西下载不了

自建一个vpn吧!

买一个DigitalOcean的虚拟主机,最低配置每个月5$。搭个VPN自己和几个朋友一起用是绰绰有余了,除了这个还可以在上面整点其他的东西。

怎么搭VPN看这里:https://github.com/philplckthun/setup-simple-ipsec-l2tp-vpn

如果有兴趣注册DigitalOcean的话,用我的推荐链接吧:https://www.digitalocean.com/?refcode=d8846d1a685a

回复了 ding 创建的主题: 关于《学习 Go 语言(Golang).pdf》中,接口那一节两个struct同时实现了同一个interface时,switch判断type的例子

  • 如果在接口I中添加了方法,那么传入函数f的参数就必须是实现了该接口的类型,否则编译不过,静态类型嘛。
  • 题主的贴出的代码是没有问题的,关键看调用函数时传入的参数类型,如果说只有R,S实现了接口I(I不是空接口),那么传入的参数是R或者S类型时,就编译不通过。
  • 如果把函数的参数类型改为interface{}类型,就可以传入任意类型的参数调用了。

回复了 jimmykuu 创建的主题: 服务器迁移到 UCloud

确实感觉很顺畅了,前段时间偶尔会无法访问。linode不稳定吧。

回复了 kits_cai 创建的主题: 成都高薪招聘golang开发

终于看到成都有招gopher的了,可惜我才学go几个月,BeeGo也还在摸索,只能精神上顶一下啦!
不过『优势』的描述很让人垂涎啊

回复了 x0601y 创建的主题: 关于win下intellij idea 与gopath的问题

你应该将你的工程放在 GOPATH 下的 src 目录里面,没有用过 intellij,但有一点,Go 在构建的时候会去 $GOPATH/src 目录里查找源码文件,例如你运行 go build calcproj,这就意味着 go 会去 $GOPATH/src 中寻找 calcproj 子目录。

回复了 anod 创建的主题: 如何理解数组和基于此数组创建的切片的关系问题?

我也刚开始学Golang,昨天把语法大概扫了一遍,这个问题我也很感兴趣,于是又研究了一番,下面是我的理解,不对的话请大家指正。

  1. Array 与 C 语言中的数组非常类似,大小需要的定义时给定且定义之后不可变,其内部机理很直观;
  2. Slice 的含义大于其字面意思,我觉得像 Python 一样将其称为 List 更贴切一些;
  3. Slice 既然具有像Python 中List 一样的方便灵活的特性,必然是通过对一些底层内型封装实现,其中就包括 Array;
  4. Go 允许通过一个已经被引用的 Array 来定义一个 Slice,如题主的代码: s_1 := arr[0:3],arr 即 s_1 背后的 Array,这就意味着我们能够得到一个 Slice 背后的 Array对象的引用,所以我们可以通过Array窥探到Slice背后的操作;
  5. 关于这样设计的合理性,我认为:Array 更接近底层,是比较粗糙的类型,Go 提供 Array 这种类型的原因应该为了方便某些较底层的操作,Slice 才是高级语言应该提供的类型,编程时绝大多数情况下应该使用 Slice 吧,如果不是必须,应该不会使用到 Array,所以题主的疑问在大多数情况下应该是不需要考虑的。