3

golang で URL fetcher を作成しています。私はgolangを初めて使用し、以前はinterace{ }タイプについて知らなかったmap[string]stringため、args_hash{}time (フェッチャーに引数を渡すための一般的なハッシュdatesite-pathなど)に使用していました。interface{}しかし、後でtypeについて学び、 mymapを に変更しましたmap[string]interface{}

私のフェッチャー内のさまざまな機能はargs_hash{}. 以前は、整数であるはずの引数を変換する必要がありました (ただし、andを使用した整数への制限により、文字列として 渡されました。map[string]string)strconv.Atoi()stuff

func my_def(args_hash{} map[string]string){
    url_count := strconv.Atoi(args_hash["url_count"])
   // ... use url count
    .
    .
   // ......successful url count calculated
   args_hash["success_url_count"] = strconv.Itoa(success_count)
}

私のメソッドはこれを数回前に行い、これを変更args_hash{}してそれらの間で数回渡しました。

しかし、今から私は使用に移行しました

args_hash map[string]interface{}

私はもうこれをしません。

ではmap[string]string、10 個の特定の URL をフェッチするのにかかった時間は約 23 秒でしたが、map[string]interface{}これはほぼ半分 (約 12 ~ 13 秒) に短縮されました。

この理由は何でしょうか?

4

1 に答える 1