Go语言多值替换的HTML模板实例分析
本文实例分析了Go语言多值替换的HTML模板用法。分享给大家供大家参考。具体如下:
这里通过两种方式提供基于HTML模板的多变量值替换。另外附加一个数组迭代的示例。
传入map实现多值替换
package main
import (
"html/template"
"os"
)
func main() {
t, _ := template.New("demo").Parse(`{{define "T"}}Hello, {{.Username}}! Main Page: [{{.MainPage}}]{{end}}`)
args1 := map[string]string {"Username": "Hypermind", "MainPage": "http://hypermind.com.cn/go"}
_ = t.ExecuteTemplate(os.Stdout, "T", args1)
}
传入自定义结构实现多值替换
package main
import (
"html/template"
"os"
)
type Info struct{
Username string
MainPage string
}
func main() {
t, _ := template.New("demo").Parse(`{{define "T"}}Hello, {{.Username}}! Main Page: [{{.MainPage}}]{{end}}`)
args2 := Info{Username: "Hypermind", MainPage: "http://hypermind.com.cn/go"}
_ = t.ExecuteTemplate(os.Stdout, "T", args2)
}
二维数组的迭代显示
package main
import (
"html/template"
"os"
)
type Matrix struct {
Array [9][9]int
}
func main() {
tmpl, _ := template.New("example").Parse(`
{{ $a := .Array }}
{{ range $a }}{{ $elem := . }}|{{ range $elem }}{{ printf "%d" . }}{{ end}}|
{{end}}`)
tmpl.Execute(os.Stdout, matrix)
}
希望本文所述对大家的Go语言程序设计有所帮助。
相关推荐
-
golang网络socket粘包问题的解决方法
本文实例讲述了golang网络socket粘包问题的解决方法.分享给大家供大家参考,具体如下: 看到很多人问这个问题, 今天就写了个例子, 希望能帮助大家 首先说一下什么是粘包:百度上比较通俗的说法是指TCP协议中,发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾. 解决方案如下: 服务端: 复制代码 代码如下: package main import ( "bytes" "encoding/binary&quo
-
golang模板template自定义函数用法示例
本文实例讲述了golang模板template自定义函数用法.分享给大家供大家参考,具体如下: golang的模板十分强大,其中的unix管道风格函数调用很是喜欢. 模板中有很多内置可以参看pkg文档, 另外还可以实现自定义函数. 例子如下: 复制代码 代码如下: package main import ( "text/template" "time" "os" ) type User struct { Usern
-
golang解析xml的方法
本文实例讲述了golang解析xml的方法.分享给大家供大家参考,具体如下: golang解析xml真是好用,特别是struct属性的tag让程序简单了许多,其他变成语言需要特殊类型的在golang里直接使用tag舒服 xml文件点击此处本站下载. 完整示例代码: 复制代码 代码如下: package main import ( "os" "encoding/xml" // "encoding/json" &quo
-
golang的HTTP基本认证机制实例详解
本文实例讲述了golang的HTTP基本认证机制.分享给大家供大家参考,具体如下: 看了<<http权威指南>>第12章HTTP基本认证机制(本站下载地址:http://www.jb51.net/books/93254.html),感觉讲的蛮详细的,写了一个小小例子测试. 请求响应过程: 复制代码 代码如下: ==> GET /hello HTTP/1.1 Host: 127.0.0.1:12345 <== HTTP/1.1 401 Unauthorized WWW-A
-
go语言template用法实例
本文实例讲述了go语言template用法.分享给大家供大家参考.具体分析如下: golang的template包很好用,做一些复杂的文本格式生成太有帮助了,生成网页也是很不错的,使用起来非常方便 复制代码 代码如下: package main import ( "fmt" "os" "text/template" ) type Latlng struct { Lat float32 Lng float32
-
golang简单tls协议用法完整示例
本文实例讲述了golang简单tls协议用法.分享给大家供大家参考,具体如下: 生成私钥: openssl genrsa -out key.pem 2048 生成证书: openssl req -new -x509 -key key.pem -out cert.pem -days 3650 https: 复制代码 代码如下: package main import ( "io" "net/http" "log" ) fun
-
golang简单获取上传文件大小的实现代码
本文实例讲述了golang简单获取上传文件大小的方法.分享给大家供大家参考,具体如下: 复制代码 代码如下: package main import ( "fmt" "io" "net/http" "log" "os" ) // 获取文件大小的接口 type Size interface { Size() int64 } // 获取文件信息的接口 type S
-
golang判断chan channel是否关闭的方法
本文实例讲述了golang判断chan channel是否关闭的方法.分享给大家供大家参考,具体如下: 群里有朋友问,怎么判断chan是否关闭,因为close的channel不会阻塞,并返回类型的nil值,会导致死循环.在这里写个例子记录一下,并且分享给大家 如果不判断chan是否关闭 Notice: 以下代码会产生死循环 复制代码 代码如下: package main import ( "fmt" ) func main() { c := make(chan int,
-
Go语言多值替换的HTML模板实例分析
本文实例分析了Go语言多值替换的HTML模板用法.分享给大家供大家参考.具体如下: 这里通过两种方式提供基于HTML模板的多变量值替换.另外附加一个数组迭代的示例. 传入map实现多值替换 复制代码 代码如下: package main import ( "html/template" "os" ) func main() { t, _ := template.New("demo").Parse(`{{define "T"
-
C语言中 值传递和指针传递实例详解
C语言中 值传递和指针传递实例详解 在C语言中,函数的参数和返回值的传递方式有两种:值传递和指针传递. 值传递和指针传递初学者总会有一种朦胧的感觉,所以建议把指针传递的概念摸透,才能熟练应用. 值传递示例:x其实是n的一份临时拷贝,所以并不会改变n的值. #include <stdio.h> #include <windows.h> void Fun(int x) { x = 1; } int main() { int n = 2; Fun(n); printf("%d\
-
Go语言中关闭带缓冲区的频道实例分析
本文实例分析了Go语言中关闭带缓冲区的频道.分享给大家供大家参考.具体分析如下: Go语言提供了两种频道,带缓冲区和不带缓冲区的.不带缓冲区的频道,发送和接收是同步的,必须接收端接收了消息,发送端才能从发送调用中解脱.带缓冲区的频道,在缓冲区满之前,发送和接收是异步的,发送端的发送操作只保证把消息放入缓冲区. Go的频道是可以关闭的,关闭频道的目的是让接收端知道不会再有消息从这个频道进入,我们可能会用某个频道的关闭来表示某种状态的终结. 当我们关闭一个带缓冲区的频道时,如果缓冲区中还有消息,接收
-
C++可变参数的函数与模板实例分析
本文实例展示了C++可变参数的函数与模板的实现方法,有助于大家更好的理解可变参数的函数与模板的应用,具体内容如下: 首先,所谓可变参数指的是函数的参数个数可变,参数类型不定的函数.为了编写能处理不同数量实参的函数,C++提供了两种主要的方法:如果所有的实参类型相同,可以传递一个名为initializer_list的标准库类型:如果实参的类型不同,我们可以编写可变参数模板.另外,C++还有一种特殊的省略符形参,可以用它传递可变数量的实参,不过这种一般只用于与C函数交互的接口程序. 一.可变参数函数
-
go语言日志记录库简单使用方法实例分析
本文实例讲述了go语言日志记录库简单使用方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "fmt" "log" "os" ) func main(){ logfile,err := os.OpenFile("/var/golang/jb51.net.log",os.O_RDWR|os.O_CREATE,0); if err!=nil { fmt.P
-
Python生成MD5值的两种方法实例分析
本文实例讲述了Python生成MD5值的两种方法.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- import datetime # NO.1 使用MD5 import md5 src = 'this is a md5 test.' m1 = md5.new() m1.update(src) print m1.hexdigest() 运行结果: 174b086fc6358db6154bd951a8947837 # -*- coding:utf-8 -*- # NO
-
js中值引用和地址引用实例分析
本文实例讲述了js中值引用和地址引用.分享给大家供大家参考,具体如下: js中任何事务都是对象.包括基本数据类型(undefined,boolean,number,string,null). 对象只是拥有属性和方法的特殊数据类型. 基本数据类型也是对象 var a = "hello"; var b = "hello"; 既然是对象,那么它默认拥有属性和方法 a.length 长度属性 a.toUpperCase() 把字符串a编程大写的方法 a==b,因为是按照 值
-
SQL SERVER使用REPLACE将某一列字段中的某个值替换为其他的值
SQL SERVER将某一列字段中的某个值替换为其他的值 update 表名 set 列名 = REPLACE( 列名 ,'aa','bb') SQL SERVER"函数 replace 的参数 1 的数据类型 ntext 无效"解决办法 UPDATE 表名 SET 列名= REPLACE(CAST 列名 AS varchar(8000)),'aa','bb')
-
pandas值替换方法
如下所示: import pandas as pd from pandas import * import numpy as np data = Series([1,-999,2,-999,-1000,3]) print(data.replace(-999,np.nan)) print(data.replace([-999,-1000],np.nan)) print(data.replace([-999,-1000],[np.nan,0])) print(data.replace({-999:n
-
SpringBoot项目如何把接口参数中的空白值替换为null值(推荐)
问题发生 我们公司代码生成的时候,查询列表统一都是使用了setEntity() ,查询写法如下: public List<BasReservoirArea> selectList(BasReservoirArea basReservoirArea) { QueryWrapper<BasReservoirArea> where = new QueryWrapper<>(); where.setEntity(basReservoirArea); return baseMap
随机推荐
- php项目打包方法
- MySQL 5.7解压版安装、卸载及乱码问题的图文解决方法
- 用JSP生成静态页面
- vue组件实现文字居中对齐的方法
- 检测input每次的输入是否合法遇到汉字输入就有问题
- Java 序列化和反序列化实例详解
- Ajax::prototype 源码解读
- php中常见的sql攻击正则表达式汇总
- Android USB转串口通信开发实例详解
- MySQL 删除大表的性能问题解决方案
- linux系统使用python监测系统负载脚本分享
- 遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
- sql 语句练习与答案
- 跟着JQuery API学Jquery 之二 属性
- 使用ajaxfileupload.js实现上传文件功能
- python中sleep函数用法实例分析
- PHP SEO优化之URL优化方法
- thinkjs 文件上传功能实例代码
- 简单实现python画圆功能
- jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】