-1
我試圖解析可能爲空的表單帖子,如果它是我將更改該變量。試圖使用*string
類型。我遇到的問題是忽略了最低爲dashUrl
轉換,但確實爲start_time
不能使用&dashUrl(類型* []字節)作爲類型*字符串在作業
package main
import (
"encoding/base64"
"strconv"
"github.com/gocraft/web"
)
type YoutubeContext struct {
StartTime *float64 `json:"start_time"`
DashUrl *string `json:"dash_url"`
}
func (c *YoutubeContext) SetYoutubeContext(rw web.ResponseWriter, req *web.Request, next web.NextMiddlewareFunc) {
if f, err := strconv.ParseFloat(req.FormValue("start_time"), 64); err == nil {
c.StartTime = &f
}
if dashUrl, dashUrlDecodeErr := base64.StdEncoding.DecodeString(req.FormValue("dash_url")); dashUrlDecodeErr == nil {
c.DashUrl = &dashUrl
}
}
func main() {
}
它顯示的錯誤是這樣
./test.go:19: cannot use &dashUrl (type *[]byte) as type *string in assignment
你並不需要一個臨時變量,你只需要一個正確的類型:因爲API文檔說的是https:// golang。 org/pkg/encoding/base64 /#Encoding.DecodeString'base64.StdEncoding.DecodeString'返回'[]字節'切片而不是字符串。 –
沒錯,但是我試圖讓它成爲整個程序後面的指針,如果它是空的,我會改變它。 – nadermx
字節片的標準值是零AFAIK,這正是你所說的,不是嗎? –