亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用字符串函數將 url.Query().Set 中的整數轉換為字符串

使用字符串函數將 url.Query().Set 中的整數轉換為字符串

Go
忽然笑 2022-10-31 17:21:26
這是我使用 goLang 的第一天,我目前正在嘗試使用數據,但遇到錯誤,正在將整數轉換為字符串func createLink(title string, page int) string {    url := url.URL{        Scheme: "https",        Host:   "jsonmock.hackerrank.com",        Path:   "/api/movies/search/",    }    query := url.Query()    query.Set("page", string(page))    query.Set("title", title)    url.RawQuery = query.Encode()    return url.String()}您可以嘗試該代碼,結果是實際結果:https://jsonmock.hackerrank.com/api/movies/search/?page=%01&title=spiderman預期結果 :https://jsonmock.hackerrank.com/api/movies/search/?page=1&title=spiderman有 %01 ,這是我不想要的。我相信我在將整數轉換為字符串時犯了一個錯誤
查看完整描述

1 回答

?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

您應該使用strconv.Itoa()方法將整數格式化為字符串。這在鏈接的答案中得到了更好的解釋。為了完整起見,以下是您最終%01的結果:

  • 首先, int1通過遵循以下轉換規則將“普通轉換”為字符串:

將有符號或無符號整數值轉換為字符串類型會生成一個包含整數的 UTF-8 表示形式的字符串。超出有效 Unicode 代碼點范圍的值將轉換為“\uFFFD”。

  • 然后生成的字符串(unicode 代碼點的字符等于 1)得到URL-encoded,最終%01作為它的表示。


作為旁注,如果您對代碼運行go vet ,則會收到有關此警告:

hello.go:19:20:從 int 到 string 的轉換產生一串一個符文,而不是一串數字(你的意思是 fmt.Sprint(x) 嗎?)

雖然這并不總是為您提供有關如何修復錯誤的絕對最佳建議,但它至少將您推向了正確的方向。強烈建議從學習語言的第一天開始就習慣運行這種(或類似的)檢查的想法。


查看完整回答
反對 回復 2022-10-31
  • 1 回答
  • 0 關注
  • 108 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號