Tag:

谷歌Go的资源使用与Appengine上的Python和Java

Google Go会使用比Appengine上的Python和Java更less的资源吗? 实例启动时间是否比Java和Python的启动时间快? go程序是以二进制文件还是源代码的forms上传的,如果是以源代码的forms上传,那么它会被编译一次或在每个实例启动时被编译一次? 换句话说:从成本的angular度来看,在应用引擎中使用Go会受益吗? (只考虑了appengine资源而不是开发时间的成本)

在Golang中设置Cookie(net / http)

我试图用Golang的networking/ http设置cookie。 我有 package main import "io" import "net/http" import "time" func indexHandler(w http.ResponseWriter, req *http.Request) { expire := time.Now().AddDate(0, 0, 1) cookie := http.Cookie{"test", "tcookie", "/", "www.domain.com", expire, expire.Format(time.UnixDate), 86400, true, true, "test=tcookie", []string{"test=tcookie"}} req.AddCookie(&cookie) io.WriteString(w, "Hello world!") } func main() { http.HandleFunc("/", indexHandler) http.ListenAndServe(":80", nil) } 我尝试用“cookies”search“Golang”,但没有得到任何好的结果。 如果有人能指出我正确的方向,将不胜感激。 谢谢。

编码/解码url

Go中编码和解码整个URL的推荐方式是什么? 我知道的方法url.QueryEscape和url.QueryUnescape ,但他们似乎并不完全是我在找什么。 具体而言,我正在寻找JavaScript的encodeURIComponent和decodeURIComponent 。 谢谢。

在Golang中初始化一个嵌套结构

我无法弄清楚如何初始化一个嵌套的结构。 在这里find一个例子: http : //play.golang.org/p/NL6VXdHrjh package main type Configuration struct { Val string Proxy struct { Address string Port string } } func main() { c := &Configuration{ Val: "test", Proxy: { Address: "addr", Port: "80", }, } }

使用`http.NewRequest(…)`做一个URL编码的POST请求

我想要一个POST请求发送我的数据作为application/x-www-form-urlencoded内容types的API。 由于我需要pipe理请求头,我使用http.NewRequest(method, urlStr string, body io.Reader)方法来创build一个请求。 对于这个POST请求,我将我的数据查询附加到URL中,并将主体留空,如下所示: package main import ( "bytes" "fmt" "net/http" "net/url" "strconv" ) func main() { apiUrl := "https://api.com" resource := "/user/" data := url.Values{} data.Set("name", "foo") data.Add("surname", "bar") u, _ := url.ParseRequestURI(apiUrl) u.Path = resource u.RawQuery = data.Encode() urlStr := fmt.Sprintf("%v", u) // "https://api.com/user/?name=foo&surname=bar" client := &http.Client{} r, _ := […]

在Golang的圆点圆点。 与空括号的接口

这是一个Golang代码段我有问题:这个函数中的“a”是什么? func DPrintf(format string, a …interface{}) (n int, err error) { if Debug > 0 { n, err = fmt.Printf(format, a…) } return 有谁能告诉我这是什么点的点? 那么…interface{}做什么的? 这点网点真的很难谷歌,想知道他们的含义谢谢!

Go是否受到与Java相同的微妙的内存泄漏?

这里是事实: 语言Go有一个垃圾收集器。 Java有一个垃圾收集 很多Java程序有(微妙的或不)内存泄漏 作为一个Java程序有内存泄漏的例子(不是心存疑虑,这个问题可能会动摇你的信念),在这里看到一个叫做Tomcat的Java程序,它甚至有一个“find leaks”button: 有没有办法避免在Tomcat中取消部署内存泄漏? 所以我想知道:用Go编写的程序是否会展现出与Java编写的一些程序一样的(微妙的或不是)内存泄漏?

在函数调用中“用作值”

什么是在条件语句中评估它们的值时调用函数的正确方法? package main import "fmt" func main(){ if sumThis(1,2) > sumThis(3,4){ fmt.Println("test") } else { fmt.Println("derp") } } func sumThis(a, b int){ return a+b } 这返回错误: ./test4.go:4: sumThis(1, 2) used as value ./test4.go:4: sumThis(3, 4) used as value ./test4.go:11: too many arguments to return 你将如何写在Go? 谢谢

如何在Go结构中初始化成员

我是Golang的新手,所以这个configuration让我疯狂: import "sync" type SyncMap struct { lock *sync.RWMutex hm map[string]string } func (m *SyncMap) Put (k, v string) { m.lock.Lock() defer m.lock.Unlock() m.hm[k] = v, true } 后来,我只是打电话给: sm := new(SyncMap) sm.Put("Test, "Test") 在这一刻,我得到一个零指针恐慌。 我已经通过使用另一个函数,并在new()之后调用它: func (m *SyncMap) Init() { m.hm = make(map[string]string) m.lock = new(sync.RWMutex) } 但我想知道,如果有可能摆脱这种样板初始化?

如何在http获取请求中设置标题?

我在Go上做一个简单的http GET: client := &http.Client{} req, _ := http.NewRequest("GET", url, nil) res, _ := client.Do(req) 但是我找不到在doc中定制请求头的方法,谢谢