25

URL 経由で渡された変数 (times という名前の GET 変数) で strconv を使用しようとすると、GoLang は次のようにコンパイルに失敗します。

単一値コンテキストでの複数値 strconv.Atoi()

ただし、reflect.TypeOf を実行すると、文字列が型として取得されます。これは、私の理解では正しい型の引数です。

この問題を数時間修正しようとしています。私は初めてで、この問題にかなり不満を感じています。私は最終的に助けを求めることにしました。フィードバックをいただければ幸いです。

func numbers(w http.ResponseWriter, req *http.Request) {
  fmt.Println("GET params were:", req.URL.Query()); 
  times := req.URL.Query()["times"][0]
  time := strconv.Atoi(times)

  reflect.TypeOf(req.URL.Query()["times"][0]) // returns string
}
4

2 に答える 2

65

このエラーは、strconv.Atoi(interror) からの 2 つの戻り値が単一の値のコンテキスト ( への代入) で使用されていることを示していますtime。コードを次のように変更します。

   time, err := strconv.Atoi(times)
   if err != nil {
      // Add code here to handle the error!
   }

戻り値を無視するには、空白の識別子を使用します。error

   time, _ := strconv.Atoi(times)
于 2016-04-29T00:22:01.310 に答える