初级会员
  • 第 4739 位会员
  • abin
  • wangabin0910@gmail.com
  • 2016-03-24 15:51:29
  • Offline
  • 29 56

最近发布的主题

    暂无

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • #3 @0lightbee0 建议可以看下源码,`t := template.New("ttt")` 创建一个空的template,`tmpl, err := t.ParseFiles("test.html")` 创建一个名为test.html的template,这个时候 tmpl 和 t 是相等的,所以tmpl 也是空的template。 建议: 1.`t := template.New("ttt")` 中 ttt 改为跟文件名一样 test.html。 2.`tmpl.Execute(os.Stdout, nil)` 改为 `tmpl.ExecuteTemplate(os.Stdout, "test.html", nil)`。 具体的话建议看下官方的使用方法或者看下源码,不知道你的具体需求只能这样了。。。 :smile:
  • 解析文件时直接用`template.ParseFiles`,你在执行`tmpl.Execute(os.Stdout, nil)`时打印错误就会看到错误信息的
  • 结构体字段需要首字母大写才可以导出,不然解析不到数据的
  • 评论了主题 报错切片越界
    看你的具体需求,读取配置时发现配置写法错误应该怎么处理。具体来说,就是当配置不符合你定义的 key = value 模式时,你可以主动提示错误: i := strings.IndexAny(line, "=") if i < 0 { panic(fmt.Sprintf(" %s can't coincidence key = value pattern", line)) } key := strings.TrimSpace(line[0:i]) if key == "" { panic(fmt.Sprintf(" %s key is empty", line)) } value := strings.TrimSpace(line[i+1:]) if value == "" { panic(fmt.Sprintf(" %s value is empty", line)) } per[key] = value 具体怎么写由你决定。。。
  • 评论了主题 报错切片越界
    #9 @lipeng 看你的具体需求,读取配置时发现配置写法错误应该怎么处理。具体来说,就是当配置不符合你定义的 key = value 模式时,你可以主动提示错误: ``` i := strings.IndexAny(line, "=") if i < 0 { panic(fmt.Sprintf(" %s can't coincidence key = value pattern", line)) } key := strings.TrimSpace(line[0:i]) if key == "" { panic(fmt.Sprintf(" %s key is empty", line)) } value := strings.TrimSpace(line[i+1:]) if value == "" { panic(fmt.Sprintf(" %s value is empty", line)) } per[key] = value ``` 具体怎么写由你决定