有关map[string]interface{}用法求教

DevinL · · 1315 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

代码如下,想问下最后一个语句怎么理解? ``` type Domain_list_t map[string]interface{} var DomainList Domain_list_t //DomainList.txt 文件存放域名列表,一行一个 func LoadOrCreateDomainList() bool { buf, err := ioutil.ReadFile("./Domainlist.txt") if err != nil { return false } DomainList = make(Domain_list_t) //domain为Domainlist.txt里的一行,假设是第一行是 www.baidu.com for _, domain := range strings.Split(string(buf), "\n") { //subs为domain的各级域名组成的切片 {www,baidu,com} subs := strings.Split(strings.Trim(domain, "\r "), ".") if len(subs) == 0 || len(domain) == 0 || domain[0] == '#' { continue } top := DomainList //i=2时 for i := len(subs) - 1; i >= 0; i-- { //sub[2]="com",top["com"]==nil if top[subs[i]] == nil { //初始化top["com"] top[subs[i]] = make(Domain_list_t) } if i == 0 { top[subs[0]].(Domain_list_t)["_"] = true } //这里不明白,为啥 top["com"] 后面还能加点号,为啥 Domain_list_t 要加括号 top = top[subs[i]].(Domain_list_t) } } ```

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1315 次点击  
加入收藏 微博
3 回复  |  直到 2023-08-07 12:30:52
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传