Questions tagged «go»

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

4
如何使用Go Web服务器提供静态html文件?
如何使用Go Web服务器提供index.html(或其他静态HTML文件)? 我只想要一个基本的静态HTML文件(例如,一篇文章),就可以从Go Web服务器上提供该文件。HTML应该可以在go程序之外进行修改,就像使用HTML模板时一样。 这是我的Web服务器,仅托管硬编码文本(“ Hello world!”)。 package main import ( "fmt" "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello world!") } func main() { http.HandleFunc("/", handler) http.ListenAndServe(":3000", nil) }
89 go 

7
如何编译由多个文件组成的Go程序?
我有一个包含三个文件的小程序,所有文件都属于同一个程序包(主文件),但是当我“进行构建main.go”时,构建不会成功。当它只是一个文件(main.go)时,一切正常。现在,我已经花了一些力气来分离代码,看来编译器无法找到从main.go中取出的东西并放入其他两个文件(与main.go位于同一目录中) 。导致“未定义的'类型'”错误。 如何编译由多个文件组成的程序?

6
如何访问传递给Go程序的命令行参数?
如何在Go中访问命令行参数?它们不会作为参数传递给main。 一个完整的程序(可能是通过链接多个程序包创建的)必须具有一个名为main的程序包,并具有一个功能 func main() { ... } 定义。函数main.main()不带参数,也不返回值。
88 go 


4
如何不使用Go将封送的空结构封送至JSON?
我有一个这样的结构: type Result struct { Data MyStruct `json:"data,omitempty"` Status string `json:"status,omitempty"` Reason string `json:"reason,omitempty"` } 但是,即使MyStruct实例完全为空(意味着所有值都是默认值),它也会被序列化为: "data":{} 我知道encoding / json文档指定“空”字段为: false,0,任何nil指针或接口值以及任何长度为零的数组,切片,映射或字符串 但不考虑具有所有空/默认值的结构。它的所有字段也都标有omitempty,但这无效。 如何获取JSON包以不封送我的字段为空结构?
88 json  go 


4
如何在GoLang中比较字符串?
当涉及Go字符串比较时,我无法产生“ true”结果。我写了以下内容来解释这个问题,并附上了输出的屏幕截图 // string comparison in Go package main import "fmt" import "bufio" import "os" func main() { var isLetterA bool fmt.Println("Enter the letter a") reader := bufio.NewReader(os.Stdin) input, _ := reader.ReadString('\n') if(input == "a") { isLetterA = true } else { isLetterA = false } fmt.Println("You entered",input) fmt.Println("Is it …
88 go 


5
使用标准库可以在Go中嵌套模板吗?
如何在python运行时中获取类似于Jinja的嵌套模板。TBC的意思是,我如何从基本模板继承一堆模板,就像Jinja / django-templates一样,以基本模板的块形式进行归档。是否可以仅html/template在标准库中使用。 如果那是不可能的,那我有什么选择。胡子似乎是一种选择,但是我会不会错过那些html/template诸如上下文相关的转义等漂亮的微妙功能?还有什么其他选择? (环境:Google App Engin,Go runtime v1,Dev-Mac OSx lion) 谢谢阅读。

6
附加到Go中的文件
所以我可以像这样从本地文件中读取: data, error := ioutil.ReadFile(name) 我可以写到本地文件 ioutil.WriteFile(filename, content, permission) 但是如何附加到文件?有内置方法吗?
87 file-io  go 



14
未设置GOBIN:无法运行go install
我正在尝试为main.go文件安装自定义软件包。可是我跑的时候 go install custom.go 我得到这个错误 go install: no install location for .go files listed on command line (GOBIN not set) 如何设置GOBIN?
86 go 

3
如何传递切片作为可变参数输入?
我有功能func more(... t)。我想知道是否可以使用切片来填充参数列表...。 我正在尝试解决以下程序。基本上是模仿一个普通的外壳,该外壳以字符串形式接收命令。 命令功能需要一个参数“列表”,我看不到如何将字符串转换为这样的列表 import "os/exec" import "strings" func main(){ plainCommand := "echo hello world" sliceA := strings.Fields(plainCommand) cmd := exec.Command(sliceA) }
86 go 

8
如何在Golang中测试地图的等效性?
我有一个像这样的表驱动测试用例: func CountWords(s string) map[string]int func TestCountWords(t *testing.T) { var tests = []struct { input string want map[string]int }{ {"foo", map[string]int{"foo":1}}, {"foo bar foo", map[string]int{"foo":2,"bar":1}}, } for i, c := range tests { got := CountWords(c.input) // TODO test whether c.want == got } } 我可以检查长度是否相同,并编写一个循环来检查每个键值对是否相同。但是,当我想将其用于其他类型的地图时(例如map[string]string),我必须再次编写此检查。 我最终要做的是,将地图转换为字符串并比较了字符串: func checkAsStrings(a,b interface{}) …

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.