我正在 golang 中制作一个 url fetcher。我是 golang 的新手,之前不知道interace{}类型,因此map[string]string
用于我的args_hash{}(将参数传递给我的 fetcher 的通用哈希,例如,time
等)。但是,我后来了解了type 并将我的更改为.date
site-path
interface{}
map
map[string]interface{}
我的 fetcher 中的各种功能使用args_hash{}
. 早些时候,我不得不转换应该是整数的 args(但由于使用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 秒)。
这可能是什么原因?