iT邦幫忙

0

請問 Go 語言(Golang)如果放在 Heroku 那 GOPATH 要在哪設定?

大家好,我是 GO 語言的新手。
其實我一直沒有裝在電腦上面過,都只有透過 Heroku 讓寫好的東西去執行。

所以一直不曉得還有 GOPATH 這回事。

一直到我查詢 GO 語言要怎麼去接收別人 POST / GET 給自己的內容(REST?)
才遇到這個:martini

才發現還有 GOPATH 的配置。
但我在 Heroku 網頁上可以設定的都找過了,都沒看到類似的關鍵字。

有嘗試過直接抄寫

import "github.com/go-martini/martini"

然後 deloy 上去讓他執行,但編譯器又會擋。
編譯器會說 import "github.com/go-martini/martini" 裡面有東西不見了。

大概就是需要 GOPATH 的那些設定。

不知怎麼調整才可以調到能讓 Heroku 上面的 GO 文件能引用 martini

啊,另外想請教一下。
下面這種寫法,有辦法修改後能取得 POST 後的伺服器回應值嗎?

func HttpPost(body , title_text, this_id string) error {
	url := "https://某個要被 POST 的站外網址"
	jsonStr := `{
		"value1":"` + body + `",
		"value2": "` + title_text + `",
		"value3": "` + this_id + `"
	}`

	req, err := http.NewRequest(
		"POST",
		url,
		bytes.NewBuffer([]byte(jsonStr)),
	)
	if err != nil {
		log.Print(err)
		return err
	}

	// 設定 head
	req.Header.Set("Content-Type", "application/json")

	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		log.Print(err)		
		return err
	}
	defer resp.Body.Close()

	log.Print(err)
	return err
}

這 function 就是負責傳三個參數寫成 JSON POST 到某個地方。
我是到處逛、到處參考拼拼湊湊起來,後來才終於會動 XD

但後來我突然想到,但對方的回應怎麼就消失了。
可是我也不知道要加在哪..........

有略懂 GO 語言的前輩可以幫忙指點一下嗎?
另外這種 POST 寫法是不是會有什麼缺點啊?有更推薦的寫法嗎?

1 個回答

0
troy555
iT邦新手 5 級 ‧ 2016-12-28 17:29:19

然後 deloy 上去讓他執行,但編譯器又會擋。
編譯器會說 import "github.com/go-martini/martini" 裡面有東西不見了。

能把訊息貼出來看一下嗎?

我要發表回答

立即登入回答