golang从入门到精通,模板内置函数自定义函数管道符的使用
这篇文章将学习模板内置函数的使用、自定义函数的使用、管道符的使用D:gosrcgo7demo1main。go源码及解析本节将学习模板内置函数的使用、自定义函数的使用、管道符的使用packagemainimport(nethttptexttemplatetime)TimeToString声明TimeToString函数,将time。Time转换成2006010215:04:05格式的字符串funcTimeToString(timetime。Time)string{returntime。Format(2006010215:04:05)}funcAdd(int1int)int{returnint11}funcIndex(whttp。ResponseWriter,rhttp。Request){FuncMap:定义从名称到函数的映射的一一映射。timetoString是定义的名称,TimeToString是执行的函数funcMap:template。FuncMap{timetoString:TimeToString,intadd1:Add,}New:给名称funcMap分配一个新的、未定义的模板t。t:template。New(index。html)。Funcs(funcMap)funcParseFiles(filenames。。。string)(Template,error)ParseFiles从index。html中解析模板。如果发生错误,解析停止,返回的Template为nil。当解析多个文件时,如果文件分布在不同目录中,且具有相同名字的,将以最后一个文件为主。当解析多个文件时,如果文件分布在相同目录中,且具有不同名字的,将以第一个文件为主。files,:t。ParseFiles(index。html,home。html)渲染模板文件,并将定义的map类型的数据传入模板文件中由于采用的Execute方法,那么渲染的模板应当遵循template。ParseFiles的解析顺序files。Execute(w,map〔string〕interface{}{score:18。5,year:〔〕int{2018,2019,2020,2021,2022},str1:golang从入门到精通,将当前时间输出到模板ctime:time。Now(),输出到模板1个int数据int1:18,})}funcmain(){http。HandleFunc(,Index)http。ListenAndServe(:80,nil)}D:gosrcgo7demo1index。html源码及解析!DOCTYPEhtmlhtmllangenheadmetacharsetUTF8titleindextitleheadbodypreh1index。htmlh1使用管道符号进行处理score,保留小数点后2位:{{。scoreprintf。2f}}使用函数进行处理score,保留小数点后2位::{{printf。2f。score}}使用index函数获取〔〕string内值:{{index。year1}}使用len函数获取string长度:{{index。str11}}使用println函数输出字符串(带换行):{{println。str1}}使用printf函数输出字符串和类型:{{printfstr1的值是:v,类型是:T。str1。str1}}使用自定义函数timetoString格式化输出当前时间。ctime:{{timetoString。ctime}}使用自定义函数intadd1处理。int1:当前是:{{。int1}}执行函数后是:{{intadd1。int1}}prebodyhtml
执行结果:RUNTestIndexmaintest。go:15:http:127。0。0。1:50010indexmaintest。go:19:!DOCTYPEhtmlhtmllangenheadmetacharsetUTF8titleindextitleheadbodypreh1index。htmlh1使用管道符号进行处理score,保留小数点后2位:18。50使用函数进行处理score,保留小数点后2位::18。50使用index函数获取〔〕string内值:2019使用len函数获取string长度:111使用println函数输出字符串(带换行):golang从入门到精通使用printf函数输出字符串和类型:str1的值是:golang从入门到精通,类型是:string使用自定义函数timetoString格式化输出当前时间。ctime:2022010618:08:10使用自定义函数intadd1处理。int1:当前是:18执行函数后是:19prebodyhtmlPASS:TestIndex(0。02s)PASS
执行结果是通过单元测试得到的,当然也可以直接进行gorun。启动web服务,通过浏览器URL进行查看。下面是单元测试的源码packagemainimport(ioioutilnethttpnethttphttptesttesting)funcTestIndex(ttesting。T){handler:http。HandlerFunc(Index)app:httptest。NewServer(handler)deferapp。Close()url:app。URLindext。Log(url)response,:http。Get(url)deferresponse。Body。Close()bytes,:ioutil。ReadAll(response。Body)t。Log(string(bytes))}
三星GalaxyZ系列全家桶新品价格公布899起就在刚刚,三星GalaxyZ系列新品发布会结束,新品全家桶的价格也是在第一时间公布给大家。三星GalaxyBuds2售价899元三星GalaxyWatch440mm……
微软更改CPU要求以安装Windows11,Mac支持尚不清微软今年早些时候宣布了Windows11,它在一些旧硬件上运行时有很多限制甚至是Mac。不过,该公司今天确认了Windows11对CPU要求的一些变化,但Mac支持仍不确定。……
Rust学习笔记(二十六)何时使用panic总体原则在定义一个可能失败的函数时,优先考虑返回Result,否则就panic!编写示例、原型代码、测试可以使用panic!演示某些概念可以使用unwrap编写原型……
国家石油战略和新能源汽车产业链1。1石油远古时期生物尸体沉积形成的。2018年探明石油储量1。73万亿桶,20132019年平均每天探明储量60亿桶,且逐年在下降,2013年来平均每年消耗235……
用了荣耀平板V7Pro,这次不想推荐iPad了提到平板,以前只有苹果、华为和其他平板,究其原因还是在于这两家的平板生态是目前最完善的,且能够实现多设备互联的体验。但是现在可能不同了,除了苹果、华为之外还有荣耀平板。荣耀总裁……
重回现金时代还要多久?重回现金时代还要多久?答:社会在前进,历史的车轮不会倒转,重回现金时代是不可能的了。如今多好,科技的发达,信息的普遍。现在人们上街,去超市、商店、医院、或地摊上买东……
媲美蔚小理,6万元零跑T03自动驾驶达L2级别随着科技的发展,汽车的智能化发展的越来越快,所以买车越来越重视智能化。目前主流的自动驾驶级别是L2级别,但要选一辆L2级别自动驾驶的汽车,价格至少在10几万以上。那么又想……
耳机也玩自适应,佩戴舒适音质更好的华为FreeBuds4再添当今的消费电子产品中,如果说手机牢牢占据了C位,那么耳机所占的位置,大概就相当于左右护法了。对手机来说,它是如此的重要,其重要性估计仅次于很多人手里的充电宝。不过只是用手……
疫后医疗数据泄露加剧!全国医疗机构网络信息安全管理办法将出台目前医疗健康不安全风险主要体现在线上医疗数据、健康大数据中心数据、医疗健康App数据等八个方面。来源:经济参考报、中国青年网随着互联网、大数据、云计算技术的快速发展……
荣耀Magic3系列承载荣耀科技理想主义荣耀上半年经历了至暗时刻,但在Q3凭借荣耀50系列完成强势增长。短短三个月,荣耀从历史最低点的3,跃升至14。6。在2021年7月荣耀50系列成为20004000档位TOP1。……
取消大小周后,年轻人为什么又不干了?自腾讯旗下光子工作室调整为强制6点下班后,互联网大厂接连送上减负大礼包。字节跳动、快手、美团优选先后取消大小周制度,一时间有关反内卷胜利、终结加班文化的欢呼声不绝于网络。……
5G缺少灵魂?精进技术来了来源:通信信息报社(记者陈洲)近日,在2021全球数字经济大会5G创新发展论坛上,中国工程院院士张平提出了5G向5。5G演进的话题,并表示,与5G发展方向不同的是,5。5……