可以使用Go语言的map类型来缓存HTTP GET结果在内存中。
首先,定义一个map类型的变量,用来存储缓存的数据:
var cache map[string]string
然后,定义一个函数,用来从缓存中获取数据:
func getFromCache(key string) string {
if val, ok := cache[key]; ok {
return val
}
return ""
}
最后,定义一个函数,用来从HTTP GET请求中获取数据,并将结果存储到缓存中:
func getFromHttp(key string) string {
resp, err := http.Get(key)
if err != nil {
return ""
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return ""
}
cache[key] = string(body)
return string(body)
}
最后,定义一个函数,用来从缓存或HTTP GET请求中获取数据:
func getData(key string) string {
val := getFromCache(key)
if val != "" {
return val
}
return getFromHttp(key)
}