Go语言中文网 为您找到相关结果 97

golang日期字符串与时间戳转换

坑爹啊 网上搜的到都是坑爹代码 只好自己搞 //获取本地location toBeCharge := "2015-01-01 00:00:00" //待转化为时间戳的字符串 注意 这里的小时和分钟还要秒必须写 因为是跟着模板走的 修改模板的话也可以不写 timeLayout := "2006-01-02 15:04:05" //转化所需模板 loc, _ := time.LoadLocation("Local") //重要:获取时区 theTime, _ := time.ParseInLocation(timeLayout, toBeCharge, loc) //使用模板在对应时区转化为time.time类型 sr := theTime.Unix() //转化为时间戳 类型是int64 fm...阅读全文

博文 2015-06-17 20:23:32 u012210379

go语言的模板,text/template包

go语言的模板,text/template包 定义 模板就是将一组文本嵌入另一组文本里 传入string–最简单的替换 package main import ( "os" "text/template" ) func main() { name := "waynehu" tmpl, err := template.New("test").Parse("hello, {{.}}") //建立一个模板,内容是"hello, {{.}}" if err != nil { panic(err) } err = tmpl.Execute(os.Stdout, name) //将string与模板合成,变量name的内容会替换掉{{.}} //合成结果放到os.Stdout里 if err != ni...阅读全文

博文 2014-10-04 19:26:25 waynehu

google go 模板处理

Go模板使用 在Go语言中,使用"html/template"包来进行模板处理,使用Parse、ParseFile、Execute等方法加载模板。例子: package main import ( "html/template" "os" ) type Actor struct { UserName string } func tpl_merger_structdata() { t := template.New("struct data demo template") //创建一个模板 t, _ = t.Parse("hello, {{.UserName}}! \n") //解析模板文件 actor := Actor{UserName: "jsrush@structMap"} // 创建一...阅读全文

博文 2014-12-05 14:00:01 xiangtaoxiangtao

golang 模板(template)的常用基本语法

golang 模板(template)的常用基本语法 模板 在写动态页面的网站的时候,我们常常将不变的部分提出成为模板,可变部分通过后端程序的渲染来生成动态网页,golang提供了html/template包来支持模板渲染。 这篇文章不讨论golang后端的模板读取及渲染方法,只讨论模板中嵌入变量,渲染变量、循环等一些基本用法。 变量 在golang渲染template的时候,可以接受一个interface{}类型的变量,我们在模板文件中可以读取变量内的值并渲染到模板里。 有两个常用的传入参数的类型。一个是struct,在模板内可以读取该struct域的内容来进行渲染。还有一个是map[string]interface{},在模板内可以使用key来进行渲染。 我一般使用第二种,效率可能会差一...阅读全文

博文 2016-09-03 03:00:03 sryan

go语言:优雅的模板切割技术

众所周知,一个网页普遍由头、身、脚组成,而一个项目中头和脚基本相同,这些部分就需要提取出来。 比如: ... ... ... 分割的时候就会分成这样: 头: ... 身: ... 脚: ... 然后就可以通过三次调用func (*Template) Execute这个方法来渲染模板了! 可是本人有个强迫症,看到和被分到了两个文件中十分不爽,所以想了下面这个方法: main.html: {{define "main"}} ... 阅读全文

beego分页类

go count, _ := models.M("logoperation").Alias(`op`).Field(`count(op.id) as count`).Where(where).Count() if count > 0 { pagesize := 10 p := tools.NewPaginator(this.Ctx.Request, pagesize, count) log, _ := models.M("logoperation").Alias(`op`).Where(where).Limit(strconv.Itoa(p.Offset()), strconv.Itoa(pagesize)).Order(`op.id desc`).Select() this.Data["d...阅读全文

博文 2015-06-05 11:00:06 别人说我名字很长

golang 模板(template)的常用基本语法

golang 模板(template)的常用基本语法 模板 在写动态页面的网站的时候,我们常常将不变的部分提出成为模板,可变部分通过后端程序的渲染来生成动态网页,golang提供了html/template包来支持模板渲染。 这篇文章不讨论golang后端的模板读取及渲染方法,只讨论模板中嵌入变量,渲染变量、循环等一些基本用法。 变量 在golang渲染template的时候,可以接受一个interface{}类型的变量,我们在模板文件中可以读取变量内的值并渲染到模板里。 有两个常用的传入参数的类型。一个是struct,在模板内可以读取该struct域的内容来进行渲染。还有一个是map[string]interface{},在模板内可以使用key来进行渲染。 我一般使用第二种,效率可能会差一...阅读全文

博文 2016-09-08 12:00:03 sryan

golang 使用template funcmap的规则

http://stackoverflow.com/questions/10199219/go-template-function http://stackoverflow.com/questions/15209236/multiple-templates-with-funcmap https://groups.google.com/forum/#!topic/golang-nuts/0Q-r_EkCPgk 总之解决方法就是,以首个文件的basename作为模板的名字就可以解决了。 例子 func TestFuncMap(T *testing.T){ //os.Chdir("controller") t:=template.New("render_test.html") t.Funcs(fun...阅读全文

博文 2014-10-04 19:25:58 ggaaooppeennngg

go语言模板引擎gotpl,新鲜出炉。https://github.com/codinl/gotpl

# gotpl go语言模板引擎。基于[gorazor](https://github.com/sipin/gorazor)开发。 # 特性 * 简洁优雅 * 模板继承 * 原生go语言 * 模块,组件 # 原生go语句 ``` @if .... { .... } @if .... { .... } else { .... } @for .... { } @{ switch .... { case ....:

...

case 2:

...

default:

...

} } ``` # 模板继承(ext...阅读全文

Go指南中的联系:Stringers

 练习:Stringers 让 IPAddr 类型实现 fmt.Stringer 以便用点分格式输出地址。 例如,IPAddr{1, 2, 3, 4} 应当输出 "1.2.3.4"。 下面是给出的参考模板 package main import "fmt" type IPAddr [4]byte // TODO: Add a "String() string" method to IPAddr. func main() { addrs := map[string]IPAddr{ "loopback": {127, 0, 0, 1}, "googleDNS": {8, 8, 8, 8}, } for n, a := range addrs { fmt.Printf("%v: %v\n", n...阅读全文

博文 2015-11-18 01:00:04 u013564276

Golang 模板引擎Hero-Go

一直觉得 Go 没有一个好用的模板引擎,渲染 HTML 的时候特别痛苦,总有一种有力气却使不出来的感觉。 模板引擎一般有两种实现方式,一种是解析 HTML 语法树,然后根据一定的规则动态的拼接,另外一种是把模板预先生成代码,渲染模板时调用相关的函数即可。 Go 内置的 template 包使用的是第一种方式,不过很多开源项目使用的是第二种方式,比如 quicktemplate 、 gorazor 等。不过这两个可能由于设计的问题,都没有实现模板继承和模板 include ,而且有的语法个人觉得不是太优雅。 所以我想要一个 Go 模板,它具备以下特性: 原生的 Golang 语法 支持模板植入代码 支持模板继承和 include 高性能 语法简单、优雅 自动编译 基于以上,...阅读全文

开源项目 2017-02-07 04:00:07 shiyanhui

利用golang的template模板包进行web开发

package main import ( "fmt" "html/template" "net/http" "os" ) type Person struct { Name string Age int Emails []string Company string Role string } type OnlineUser struct { User []*Person LoginTime string } func Handler(w http.ResponseWriter, r *http.Request) { dumx := Person{ Name: "zoro", Age: 27, Emails: []string{"dg@gmail.com", "dk@hotmail.com"...阅读全文

博文 2015-06-17 20:17:25 rufidmx

菜鸟问两个关于studygolang的问题

大概看了下studygolang的源码,由于是新手所以看起来比较吃力。问几个问题,麻烦各位大哥解答下,找了很久没找到答案。 1.模板部分我只看到了SetData,将值赋值给模板,我找不到给用户返回数据的地方。请问下是通过什么样的方式返回给用户的?是统一在某个函数里返回么? 2.网页的header和footer等部分是如何输出的? 3.能否出一个studygolang简单的开发文档? 感谢...阅读全文

一个干净优雅的 Element UI Admin 模板

# Element UI Admin > 一个干净优雅的Element UI Admin模板 *一个大型单页应用离不开合理的项目机构和一些简单的封装* https://github.com/xusenlin/element-starter ## Start - 克隆或者下载这个仓库 - 进入项目目录安装依赖 ``` bash yarn ``` ## Develop ``` bash # serve with hot reload at localhost:8010 npm run dev ``` ## Build ``` bash # build for production with minification np...阅读全文

beego模板问题请教

有两个变量userinfo(用户信息)和user_extend(用户扩展信息),其中userinfo的结构是 ```go []User{ id int name string }``` user_extend结构是(其中map的key是User的id) ```go map[int]User_extend{ coin int level int } ``` 这是要输出到前端模板的数据 this.Data["paginator"] = paginator this.Data["condArr"] = condArr this.Data["user_info"] = userinfo this.Data["u...阅读全文

GO模板的使用

//方法一 t, err := template.New("").Funcs(template.FuncMap{"Test": tools.Test}).ParseFiles("views/index.html") checkError(err) data := map[string]string{"key1": "value1", "key2": "value2"} t.ExecuteTemplate(w, "index.html", data) //方法二 t := template.New("name") t = t.Funcs(template.FuncMap{"Test": tools.Test}) bytes, err := ioutil.ReadFile("views/inde...阅读全文

博文 2014-10-18 10:00:01 别人说我名字很长

Golang template和junit xml report转html工具

最近刚好有个task是要用Golang把Junit的XML格式report转换成HTML格式,便学习了Golang的template包。 基于template做的那个tool transforming Junit XML report to HTML. Golang提供了对模板的支持(按照文档的说法,是数据驱动模板,data-driven template),分别在"text/template"和"html/template"两个包下。这两个包在api级别是一致的,只是"html/template"提供了对html文本的更好支持,比如会将一些html中的关键符号(类似'<', '>'之类的)做些转义处理再输出。所以以下就只对"html/template"做下介绍。 写在这儿了~ http:/...阅读全文

博文 2016-01-25 03:00:00 wu8685

Go语言 模板的使用(一)

使用Parse package main import ( "html/template" "net/http" ) func SayHello(w http.ResponseWriter, req *http.Request) { name := "克莱普斯" tmpl, _ := template.New("TXT").Parse("大家好,我是{{.}}") tmpl.Execute(w, name) } func main() { http.HandleFunc("/", SayHello) http.ListenAndServe(":80", nil) } 使用ParseFiles go代码 package main import ( "html/template" "net/ht...阅读全文

博文 2016-02-01 17:00:01 project

Go 语言模板引擎 gotpl

# gotpl go语言模板引擎。基于[gorazor](https://github.com/sipin/gorazor)开发。 # 特性 * 简洁优雅 * 模板继承 * 原生go语言 * 模块,组件 # 原生go语句

@if .... {
    ....
}

@if .... {
    ....
} else {
    ....
}

@for .... {

}

@{switch .... {
    case ....:
          <p>...</p>
    case 2:
          <p&g...阅读全文

开源项目 2016-09-07 16:07:20 codinl

Execute模板后setCookie失效?

刚开始学GO,遇到这样的情况: t, err := template.ParseFiles("/template/login.tpl") err = t.Execute(w, nil) //如果先执行 http.SetCookie(。。。)//失败,浏览器无法收到cookie 如果调换顺序,先setCookie,再Execute,便可成功设置cookie。 计划是在登陆页面login.tpl,ParseForm( )获取用户名和密码,验证合格以后才发放sessionID,如果反着写,虽然也能办到,但ParseForm( )和验证环节跑到了模板Execute前面: r.ParseForm( ) ...阅读全文

golang 模板(template)的常用基本语法

golang 模板(template)的常用基本语法 模板 在写动态页面的网站的时候,我们常常将不变的部分提出成为模板,可变部分通过后端程序的渲染来生成动态网页,golang提供了html/template包来支持模板渲染。 这篇文章不讨论golang后端的模板读取及渲染方法,只讨论模板中嵌入变量,渲染变量、循环等一些基本用法。 变量 在golang渲染template的时候,可以接受一个interface{}类型的变量,我们在模板文件中可以读取变量内的值并渲染到模板里。 有两个常用的传入参数的类型。一个是struct,在模板内可以读取该struct域的内容来进行渲染。还有一个是map[string]interface{},在模板内可以使用key来进行渲染。 我一般使用第二种,效率可能会差一...阅读全文

博文 2016-09-01 10:00:04 sryan

请教一个动态调整加载css模板思路~

我想在header.tpl中的css根据不同页面去加载不同的css,这个header.tpl被大部分页面引用。目前我是直接在go渲染前,通过变量赋值给模板的。但我觉得这样灵活性不高,常要改动到GO的代码。 有没有什么办法可以在模板中定义变量来填写需要加载的CSS,然后传给header.tpl去加载...阅读全文

go html/template包 新建一个模板然后使用Parse方法之后使用Execute方法发现居然不会输出!!!