Questions tagged «go»

Go是一种开源编程语言。它是静态类型的,具有从C松散派生的语法,添加了自动内存管理,类型安全性,一些动态类型输入功能,其他内置类型,例如可变长度数组(称为slices)和键值映射,以及大型标准库。

4
声明一个常量数组
我努力了: const ascii = "abcdefghijklmnopqrstuvwxyz" const letter_goodness []float32 = { .0817,.0149,.0278,.0425,.1270,.0223,.0202, .0609,.0697,.0015,.0077,.0402,.0241,.0675, .0751,.0193,.0009,.0599,.0633,.0906,.0276, .0098,.0236,.0015,.0197,.0007 } const letter_goodness = { .0817,.0149,.0278,.0425,.1270,.0223,.0202, .0609,.0697,.0015,.0077,.0402,.0241,.0675, .0751,.0193,.0009,.0599,.0633,.0906,.0276, .0098,.0236,.0015,.0197,.0007 } const letter_goodness = []float32 { .0817,.0149,.0278,.0425,.1270,.0223,.0202, .0609,.0697,.0015,.0077,.0402,.0241,.0675, .0751,.0193,.0009,.0599,.0633,.0906,.0276, .0098,.0236,.0015,.0197,.0007 } 首先,声明和初始化可以正常工作,但是第二,第三和第四不起作用。如何声明和初始化浮点数的const数组?
164 arrays  go  const 

2
从Go连接到MySQL的推荐方法是什么?
我正在寻找一种可靠的解决方案,以从Go连接到MySQL数据库。我已经看到了一些库,但是很难确定完整性和当前维护的不同状态。我没有复杂的需求,但是我想知道人们所依赖的是什么,或者连接到MySQL的最标准的解决方案是什么。
163 mysql  database  go 


8
如何正确播种随机数生成器
我正在尝试在Go中生成一个随机字符串,这是我到目前为止编写的代码: package main import ( "bytes" "fmt" "math/rand" "time" ) func main() { fmt.Println(randomString(10)) } func randomString(l int) string { var result bytes.Buffer var temp string for i := 0; i < l; { if string(randInt(65, 90)) != temp { temp = string(randInt(65, 90)) result.WriteString(temp) i++ } } return result.String() …
160 random  go 

5
可以打开频道吗?
如果我从未检查过Go通道的状态,可以永远保持打开状态(永远不关闭通道)可以吗?会导致内存泄漏吗?下列代码可以吗? func (requestCh chan<- Request) GetResponse(data RequestData) Response { reply := make(chan Response) requestCh <- Request{data: data, replyCh: reply} return <-reply }
160 go  channel 

6
函数可以作为参数传递吗?
在Java中,我可以做类似的事情 derp(new Runnable { public void run () { /* run this sometime later */ } }) 然后稍后在方法中“运行”代码。处理(匿名内部类)很痛苦,但是可以做到。 Go是否有可以促进函数/回调作为参数传递的内容?
157 function  go 



4
迭代时更改值
假设我有以下几种类型: type Attribute struct { Key, Val string } type Node struct { Attr []Attribute } 我想迭代节点的属性以更改它们。 我本来希望能够做到: for _, attr := range n.Attr { if attr.Key == "href" { attr.Val = "something" } } 但是因为attr不是指针,所以这行不通,我必须这样做: for i, attr := range n.Attr { if attr.Key == "href" { n.Attr[i].Val = …
153 arrays  for-loop  go 

13
转到安装失败,并显示错误:GOPATH外部的目录xxx没有安装位置
~/src/go-statsd-client> echo $GOPATH /Users/me/gopath ~/src/go-statsd-client> echo $GOROOT /usr/local/Cellar/go/1.1.1\ ~/src/go-statsd-client> go install go install: no install location for directory /Users/me/src/go-statsd-client outside GOPATH 无论项目采用何种结构,始终都会失败,并显示相同的消息。去构建完美的作品。 这是我的 go env GOARCH="amd64" GOBIN="" GOCHAR="6" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOOS="darwin" GOPATH="/Users/me/gopath" GORACE="" GOROOT="/usr/local/Cellar/go/1.1.1" GOTOOLDIR="/usr/local/Cellar/go/1.1.1/pkg/tool/darwin_amd64" CC="gcc" GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread -fno-common" CGO_ENABLED="1" 这是在Mac OSX Mountain Lion上,并且安装了自制软件。
152 macos  go 

3
如何在http get请求中设置标题?
我在Go中做一个简单的http GET: client := &http.Client{} req, _ := http.NewRequest("GET", url, nil) res, _ := client.Do(req) 但是我找不到在doc中自定义请求标头的方法,谢谢
152 http  go 

8
如何分割字符串并将其分配给变量
在Python中,可以分割字符串并将其分配给变量: ip, port = '127.0.0.1:5432'.split(':') 但在Go中似乎无效: ip, port := strings.Split("127.0.0.1:5432", ":") // assignment count mismatch: 2 = 1 问题:如何在一个步骤中拆分字符串并分配值?
151 string  go  split 

14
无法下载,未设置$ GOPATH
我想使用安装json2csv,go get github.com/jehiah/json2csv但收到此错误: package github.com/jehiah/json2csv: cannot download, $GOPATH not set. For more details see: go help go path 有关如何在MacOS上解决此问题的任何帮助?
150 macos  installation  go 

4
从C调用Go函数
我正在尝试创建一个用Go语言编写的静态对象,以与C程序(例如,内核模块)交互。 我已经找到了有关从Go调用C函数的文档,但是关于如何走另一条路却找不到很多。我发现这是可能的,但是很复杂。 这是我发现的: 有关C和Go之间的回调的博客文章 CGO文档 Golang邮件列表帖子 有任何人对此有经验吗?简而言之,我正在尝试创建一个完全用Go编写的PAM模块。

6
如何“运行”主程序包中包含多个文件的项目?
我目前在主包中只有一个文件,名为main.go。如何分割内容main.go由于代码不可重用,为多个文件而不创建单独的程序包。 我想要这样的目录结构: $ ls foo main.go bar.go bar.go package main import "fmt" func Bar() { fmt.Println("Bar") } 然后在 main.go package main func main() { Bar() } 但是go run main.go给我: # command-line-arguments ./main.go:4:2: undefined: Bar
150 go 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.