Tag:

去const的命名约定

我试图确定在Golang中是否有一个命名约定的const的名字。 我个人倾向于遵循C风格,并用大写字母来写,但是我在这个页面上没有find任何东西http://golang.org/doc/effective_go.html ,这似乎列出了这个语言的一些命名约定。

fmt.Println()和println()之间有什么区别

如果我们想打印一些东西,我们可以这样做: import "fmt" func main(){ fmt.Println("Hello world!") } 但是我发现没有导入fmt就可以做同样的事情: func main(){ println("Hello world!") } 有人可以解释吗?

为VIM添加GoLang语法突出显示

我正在尝试在Ubuntu上添加Go语言语法突出显示到VIM上,并在这里提供了资源和方向http://go-lang.cat-v.org/text-editors/vim/ 。 Go附带一个包含VIM语法设置的go.vim文件,上面的页面提供了以下说明 在〜/ .vim / syntax /中放置$ GOROOT / misc / vim / syntax / go.vim,并放入〜/ .vim / ftdetect / go.vim中: au BufRead,BufNewFile *.go set filetype=go 这与我在别处看到的vim语法的定制程序差不多( Ubuntu 12.10上的Vim 7.3在任何地方都没有'ftplugin'目录,并且https://github.com/jnwhiteh/vim-golang/blob /master/readme.txt ) 所以我认为我在创build目录时做的是正确的事情: 〜/ vim的 〜/的.vim /句法 〜/的.vim / ftdetect 并按照上面的说明添加 go.vim到〜/ .vim / syntax /并在〜/ .vim / ftdetect /中创build一个go.vim文件 au BufRead,BufNewFile *.go set […]

在Go中embedded而不是inheritance

你对这个devise决定有什么看法? 它有什么优点和缺点? 链接: embedded描述

如何从正在运行的Docker容器中读取文件和stdout

我将如何去启动一个应用程序在我的主机,以便从正在运行的docker集装箱读取文件和标准输出? 基本上我想这样做: docker start containerid ./myapp // This app will *somehow* have access files and stdout generated by the container I just stared. 我将如何去做呢? 更具体地说,我正在试图去与这个; 我想读取docker容器的日志和标准输出,并在其他地方处理这些日志。 我也愿意创build另一个docker容器,可以从另一个容器读取文件和标准输出,但是我不知道这是否可能。

映射并发访问

当你在并发访问的程序中使用映射时,是否需要在函数中使用互斥来读取值?

去<<和>>运营商

有人可以向我解释在Go上使用<<和>>吗? 我猜这跟其他一些语言差不多

“无法识别的导入path”与go get

我试图安装一个web.go ,但运行go get github.com/hoisie/web返回 package bufio: unrecognized import path "bufio" package bytes: unrecognized import path "bytes" package crypto/rand: unrecognized import path "crypto/rand" package crypto/sha1: unrecognized import path "crypto/sha1" package crypto/tls: unrecognized import path "crypto/tls" package encoding/base64: unrecognized import path "encoding/base64" package encoding/binary: unrecognized import path "encoding/binary" package encoding/json: unrecognized import path "encoding/json" package errors: unrecognized […]

在Go中使用多个返回值的转换/types断言的习惯方式

在Go中input多个返回值的惯用方法是什么? 你可以在一行中完成,还是需要使用临时variables,例如我在下面的示例中完成的? package main import "fmt" func oneRet() interface{} { return "Hello" } func twoRet() (interface{}, error) { return "Hejsan", nil } func main() { // With one return value, you can simply do this str1 := oneRet().(string) fmt.Println("String 1: " + str1) // It is not as easy with two return values //str2, err […]

Golang – 什么是通道缓冲区大小?

我试图创build一个asynchronous通道,我一直在寻找http://golang.org/ref/spec#Making_slices_maps_and_channels 。 c := make(chan int, 10) // channel with a buffer size of 10 这是什么意思,缓冲区大小是10? 什么具体的缓冲区大小代表/限制?