问题标签 [go]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
9909 浏览

makefile - go的多包makefile示例

我正在尝试设置一个多包 go 项目,例如

./main.go

./subpackage1/sub1_1.go

./subpackage1/sub1_2.go

./subpackage2/sub2_1.go

./subpackage2/sub2_2.go

其中 main.go 导入 subpackage1 和 subpackage2。并且 subpackage2 导入 subpackage1。

我一直在寻找 go makefile 示例,但我找不到任何支持这种设置的东西。任何想法?

0 投票
1 回答
522 浏览

gcc - gccgo 链接 Ubuntu 9.10 业力中的错误?

我正在尝试使用 gccgo 编译 go 文件,我安装在我的 ubuntu 9.10 机器上。当我编译

生成 hello.o 文件,同时尝试链接并形成可执行文件

$gccgo -o 你好你好.o

我收到以下错误

我错过了什么吗?,我还在我的环境中设置了我的 LD_LIBRARY_PATH 。谢谢

0 投票
4 回答
741 浏览

c++ - 有人尝试在 Windows 上编译 Go 吗?现在似乎支持生成 PE 格式二进制文件

http://code.google.com/r/hectorchu-go-windows/source/list

如果你能编译成功,我想知道如何编译它的过程。

0 投票
4 回答
5283 浏览

go - 具有导出字段的私有类型

在 go 教程的第 2 天有这个练习:

为什么拥有导出字段的私有类型会很有用?

例如:

请注意,它point是小写的,因此不会导出,而字段 X 和 Y 是大写的,因此是大写的。在我看来,为了访问导出的字段之一,您必须能够编写类似的东西。

但为了实现这一点, p 必须有这样的声明:

或者

然而,这是不可能的(afaik),因为 point 的类型声明没有被导出。

0 投票
2 回答
11630 浏览

go - 功能实现接口

我想知道这里发生了什么。

有一个 http 处理程序的接口:

这个实现我想我明白了。

据我了解,“Counter”类型实现了接口,因为它有一个具有所需签名的方法。到现在为止还挺好。然后给出这个例子:

有人可以详细说明为什么或如何将这些不同的功能组合在一起吗?

0 投票
2 回答
225 浏览

methods - 返回接收者本身(Go)的方法的目的是什么?

pkg go/token 中的这个函数让我想知道为什么我们需要一个返回接收器本身的方法。

0 投票
2 回答
1290 浏览

go - 如何在 Go 中将向量放入结构中?

我正在尝试将向量变量放入 Google 的 Go 编程语言的结构中。这是我到目前为止所拥有的:

想:

有:

我可以让向量在我的主函数中正常工作,但我想将它封装在一个结构中以便于使用。

0 投票
4 回答
2906 浏览

python - 如何用 python 解析 *.py 文件?

我想解析 Python 源代码,以便尝试制作一个从 Python 到 Go 的基本源代码转换器。

  • 我应该使用什么模块?
  • 我应该继续还是不继续?
  • 如果我应该继续,怎么做?
0 投票
10 回答
9757 浏览

memory - 共享内存与消息传递如何处理大型数据结构?

在查看 Go 和 Erlang 的并发方法时,我注意到它们都依赖于消息传递。

这种方法显然减轻了对复杂锁的需求,因为没有共享状态。

但是,考虑许多客户希望并行只读访问内存中单个大型数据结构(如后缀数组)的情况。

我的问题:

  • 使用共享状态是否会比消息传递更快并且使用更少的内存,因为锁大多是不必要的,因为数据是只读的,并且只需要存在于单个位置?

  • 在消息传递上下文中如何解决这个问题?会不会有一个进程可以访问数据结构,而客户端只需要按顺序从它请求数据吗?或者,如果可能的话,是否将数据分块以创建多个保存块的进程?

  • 鉴于现代 CPU 和内存的架构,这两种解决方案之间是否存在很大差异——即,共享内存是否可以由多个内核并行读取——这意味着没有硬件瓶颈会使两种实现大致相同?

0 投票
5 回答
11319 浏览

string - 如何在 Go 中使用可空字符串参数的函数?

我习惯了 Java 的 String ,我们可以传递 null 而不是 "" 来表示特殊含义,例如使用默认值

在 Go 中,字符串是原始类型,因此我不能将 nil (null) 传递给需要字符串的参数。

我可以使用指针类型编写函数,如下所示:

所以调用者可以调用该函数

或者

但不幸的是,以下是不允许的:

拥有一个接收字符串或 nil 的参数的最佳方法是什么?