Go-Template模板

本文介绍了Go标准库中的text/template模块,它用于基于模板生成文本内容。通过一个具体的模板使用示例,展示了如何利用template根据元数据动态生成如open-sdk等桩代码,适用于开放平台场景。
摘要由CSDN通过智能技术生成

一、前言

Go标准库提供了template,其中text/template 提供了基于模板输出文本内容的功能。基于template我们可以很方便的来根据一些元数据动态生成一些桩代码,比如对应开放平台场景,我们可以根据定义api时的元数据来动态生成open-sdk

二、模板使用示例

demo代码如下:

package main


import (
  "bytes"
  "fmt"
  "path"
  "strings"
  "text/template"
)


// 1.自定义功能函数
var FuncMap = template.FuncMap{}


//2. 添加自定义功能函数
func init() {
  //2.1 添加首字符转换为小写的函数
  FuncMap["lowerFirst"] = func(s string) string {
    if s == "" {
      return ""
    }
    return strings.ToLower(s[:1]) + s[1:]
  }
}


// 3. 结构体定义
type Person struct {
  Name string
}
type Company struct {
  Persons     []Person
  CompanyName string
}
type Data struct {
  Company Company
}


func main() {


  //4. 创建入参变量
  var persons []Person
  persons = append(persons, Person{
    Name: "JiaDuo",
  })
  persons = append(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值