【笔记ing】Helm-5 Chart模板指南-5 模板函数列表

模板函数列表

Helm包含了很多可以在模板中利用的模板函数。以下列出了具体分类:

Cryptographic and Security

Date

Dictionaries

Encoding

File Path

Kubernetes and Chart

Logic and Flow Control

Lists

Math

Float Math

Network

Reflection

Regular Expression

Semantic Version

String

Type Conversion

URL

UUID

  • Cryptographic and Security
  • Date
  • Dictionaries
  • Encoding
  • File Path
  • Kubernetes and Chart
  • Logic and Flow Control
  • Lists
  • Math
  • Float Math
  • Network
  • Reflection
  • Regular Expressions
  • Semantic Versions
  • String
  • Type Conversion
  • URL
  • UUID

Logic and Flow Control Functions

Helm包括了需要逻辑和流控制函数,包括and,coalesce,default,empty,eq,fail,ge,gt,le,lt,ne,not,and or。

and

返回两个参数的and布尔值。

and .Arg1 .Arg2

or

返回两个参数的or布尔值。会返回第一个非空参数或最后一个参数。

or .Arg1 .Arg2

not

返回参数的布尔求反。

not .Arg

eq

返回参数的布尔等式(比如,Arg1 == Arg2)。

eq .Arg1. .Arg2

ne

返回参数的布尔非等式(比如 Arg1 != Arg2)。

ne .Arg1 .Arg2

lt

如果第一参数小于第二参数,返回布尔真。否则返回➕(比如,Arg1 < Arg2)。

lt .Arg1 .Arg2

le

如果第一参数小于等于第二参数,返回布尔真,否则返回假(比如,Arg1 <= Arg2)。

le .Arg1 .Arg2

gt

如果第一参大于第二参数,返回布尔真,否则返回假(比如,Arg1 > Arg2)。

gt .Arg1 .Arg2

ge

如果第一参数大于第二参数,返回布尔真,否则返回假(比如,Arg1 >= Arg2)。

ge .Arg1 .Arg2

default

使用default设置一个简单的默认值。

default "foo" .Bar

上述示例中,如果 .Bar是非空值,则使用它,否则会返回foo。

“空”定义取决于以下类型:

整型:0

字符串:""

列表:[]

字典:{}

布尔:false

以及所有的nil(或null)

对于结构体,没有空的定义,所以结构体从来不会返回默认值。

empty

如果给定的值被认为是空的,则empty函数返回true,否则返回false。空值列举在default部分。

empty .Foo

注意在Go模板条件中,空值是为你计算出来的。这样你很少需要if not empty .Foo,仅使用if .Foo即可。

fail

无条件地返回带有指定文本的空string或者error。这在其他条件已经确定而模板渲染应该失败的情况下很有用。

fail "Please accept the end user license agreement"

coalesce

coalesce函数获取一个列表并返回第一个非空值。

coalesce 0 1 2

上述会返回1.

此函数用于扫描多个变量或值:

coalesce .name .parent.name "Matt"

上述示例会优先检查 .name是否为空。如果不是,就返回值。如果是空,继续检查.parent.name。最终,如果.name和.parent.name都是空,就会返回"Matt"。

ternay

ternay函数获取两个值和一个test值。如果test值是true,则返回第一个值。如果test值是空,则返回第二个值。这和C或其他编程语言中的ternary运算符类似。

true test value

ternary "foo" "bar" true

或者

true | ternary "foo" "bar"

上述返回"foo"

false test value

ternary "foo" "bar" false

或者

false | ternary "foo" "bar"

上述返回"bar"

String Functions

Helm包含了以下字符串函数: abbrev,abbrevboth,camelcase,cat,contains,hasPrefix,hasSuffix,indent,initial,kebabcase,lower,nindent,nospace,plural,print,printf,println,quote,randAlpha,randAlphaNum,randAscii,randNumeric,repeat,replace,shuffle,snakecase,squote,substr,swapcase,title,trim,trimAll,trimPrefix,trimSuffix,trunc,untitle,upper,wrap,和wrapWith

 abbrev, abbrevboth,camelcase, cat, contains, hasPrefix, hasSuffix,indent, initials, kebabcase, lower, nindent,nospace, plural, print, printf, println, quote,randAlpha, randAlphaNum, randAscii,randNumeric, repeat, replace, shuffle, snakecase,squote, substr, swapcase, title, trim, trimAll,trimPrefix, trimSuffix, trunc, untitle, upper,wrap, 和 wrapWith

print

返回个部分组合的字符串

print "Matt has " .Dogs " dogs"

如果可能,非字符串类型会被转换成字符串。

注意,当相邻两个参数不是字符串时会在它们之间添加一个空格。

println

和print效果一样,但会在末尾新添加一行。

printf

返回参数按顺序传递的格式化字符串。

printf "%s has %dogs." .Name .NumberDogs

占位符取决于传入的参数类型。这包括:

一般用途:

1、%v 默认格式的值

当打印字典时,加号参数(%+v)可以添加字段名称

2、%%字符百分号,不使用值

布尔值:

%t true或false

整型:

%b 二进制

%c the character represented by the corresponding Unicode code point

%d 十进制

%o 八进制

%0 带0o前缀的八进制

%q 安全转移的单引号字符

%x 十六进制,使用小写字符a-f

%X 十六进制,使用大写字符A-F

%U Unicode格式:U+1234;和"U+%04X"相同

浮点数和复杂成分

%b 指数二次幂的无小数科学计数法,比如-123456p-78

%e 科学计数法,比如:-123456e+78

%E 科学计数法,比如:-1.23456E+78

%f 无指数的小数,比如:123.456

%F 与%f同义

%g %e的大指数,否则时%f

%G %E的大指数,否则时%F

%x 十六进制计数法(和两个指数的十进制幂),比如:-0x1.23abcp+20

%X 大写的十六进制计数法,比如:-0X1.23ABCP+20

字符串和字节切片:

%s 未解析的二进制字符或且片

%q 安全转移的双引号字符串

%x 十六进制,小写,每个字节两个字符

%X 十六进制,大写,每个字符两个字符串

切片:

%p 十六进制的第0个元素的地址,以0x开头

trim

trim行数移除字符串两边的空格:

trim "   hello   "

上述结果为:hello

trimAll

从字符串中移除给定的字符:

trimAll "$" "$5.00"

上述结果为: 5.00(作为一个字符串)。

trimPrefix

从字符串中移除前缀:

trimPrefix "-" "-hello"

上述结果为:hello

trimSuffix

从字符串中移除后缀:

trimSuffix "-" "hello-"

上述结果为:hello

lower

将整个字符串转换成小写:

lower "HELLO"

上述结果为:hello

upper

将整个字符串转换成大写:

upper "hello"

上述结果为:HELLO

title

首字母转化成大写:

title "hello world"

上述结果为:Hello World

untitle

移除首字母大写:untitle "Hello World"会得到hello world。

repeat

重复字符串多次:

repeat 3 "hello"

上述结果为:hellohellohello

substr

获取字符串的子串,有三个参数:

start(int)

end(int)

string(string)

substr 0 5 "hello world"

上述结果为:hello

nospace

去掉字符串中的所有空格:

nospace "hello w o r l d"

上述结果为:helloworld

trunc

截断字符串。

trunc 5 "hello world"

上述结果为:hello

trunc -5 "hello world"

上述结果为:world

abbrev

用省略号阶段字符串(...)

参数:

最大长度

字符串

abbrev 5 "hello world"

上述结果为:he...,因为将省略号算进了长度中。

abbrevboth

两边都省略

abbrevboth 5 10 "1234 5678 9123"

上述结果为:...5678...

it takes:

左侧偏移值

最大长度

字符串

initials

截取给定字符串每个单词的首字母,并组合在一起。

initials "First Try"

上述结果为:FT

randAlphaNum,randAlpha,randNumeric,and randAscii

这四个字符串生成加密安全的(使用crypto/and)的随机字符串,但是字符集合不同:

randAlphaNum使用0-9a-zA-Z

randAlpha使用a-zA-Z

randNumeric使用0-9

randAscii使用所有的可打印ASCII字符

每个函数都需要一个参数:字符串的整型长度

randNumeric 3

上述会生成三个数字的字符串。

————————————

仅用于本人学习

来源:Helm | Docs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/657194.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实现vue3响应式系统核心-watch

简介 今天我们来看看 watch 的实现。 watch本质就是观测一个响应式数据&#xff0c;当数据发生变化时通知并执行相应的回调函数。实际上&#xff0c;watch的实现本质上就是利用了 effect 以及 options.scheduler选项。 代码地址&#xff1a; https://github.com/SuYxh/share-…

thinkphp项目之发送邮件

引用 新用户注册需要采用邮箱注册&#xff0c;这就需要向用户注册的邮箱发送激活链接。 实现 项目采用thinkphp开发&#xff0c;引入phpmail&#xff0c;前面的一篇文章专门做了介绍&#xff0c;如果不了解的可以参考前面的博文。 $mail new PHPMailer(); $mail->From y…

阿里巴巴中国站获得1688商品详情 API

公共参数 请求地址: 1688/item_get 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,item_search_shop等]cacheSt…

Servlet基础之URL匹配规则

文章目录 URL 匹配规则几个容易混淆的规则精确匹配路径匹配扩展名匹配缺省匹配注意事项 1&#xff1a;匹配规则不能混用注意事项 2&#xff1a;"\/\*" 和 "/" 含义并不相同 URL 匹配规则 几个容易混淆的规则 servlet 容器中的匹配规则既不是简单的通配&am…

CUDA Cpp并行计算二维和三维网格

NVIDIA 的 CUDA 是一种通用并行计算平台和编程模型&#xff0c;可利用 GPU 的并行处理能力来加速深度学习和其他计算密集型应用程序。CUDA 和 NVIDIA GPU 已被应用于许多需要高浮点计算性能的领域&#xff0c;包括&#xff1a; 计算金融气候、天气和海洋建模数据科学和分析深度…

flask基于python的个人理财备忘录记账提醒系统vue

在当今高度发达的信息中&#xff0c;信息管理改革已成为一种更加广泛和全面的趋势。 “备忘记账系统”是基于Mysql数据库&#xff0c;在python程序设计的基础上实现的。为确保中国经济的持续发展&#xff0c;信息时代日益更新&#xff0c;蓬勃发展。同时&#xff0c;随着信息社…

【Java之css】

CSS CSS的引入方式 方式一&#xff1a;直接在html的标签上加入style属性&#xff0c;多个样式用分号分割 方式二&#xff1a;写在Head标签里面&#xff0c;用一个style标签包裹&#xff08;当下的主流&#xff09; 方式三&#xff1a;用链接导入外部的文件 CSS的选择器 标签…

【智能家居入门2】(MQTT协议、微信小程序、STM32、ONENET云平台)

此篇智能家居入门与前两篇类似&#xff0c;但是是使用MQTT协议接入ONENET云平台&#xff0c;实现微信小程序与下位机的通信&#xff0c;这里相较于使用http协议的那两篇博客&#xff0c;在主程序中添加了独立看门狗防止程序卡死和服务器掉线问题。后续还有使用MQTT协议连接MQTT…

输入和输出

按字符输入输出 按字符输出putchar&#xff08;&#xff09; 格式 #include <stdio.h> int putchar(int c); 功能&#xff1a;向终端输出一个字符 参数&#xff1a;要输出的字符的ASCII码值 返回值&#xff1a; 成功&#xff0c;返回输出字符的ASCII码值 失败&#xff…

基于springboot汽车租赁系统源码和论文

首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包括软件架构模式、整体功能模块、数据库设计。本项…

Missing or invalid credentials.(Git push报错解决方案)

前言 本文主要讲解git push后报错Missing or invalid credentials的解决方案。这里针对的是windows的。 编程环境&#xff1a;VsCode 问题原因 问题翻译起来就是 凭据缺失或无效。这里我们解决方案是取消vscode里面默认的控制终端git凭据来解决,具体方案如下. 解决方案 1…

3D效果图加树进去太卡,渲染太慢怎么办?

周末的时候&#xff0c;有个朋友私信来问&#xff1a;3dmax模型加树进去打开时特别的卡&#xff0c;是怎么回事。 不知道有没有朋友遇上这么个情况。 3dmax加树建议就用代理&#xff0c;这样相比于直接加而言&#xff0c;会流畅许多。 在3D效果图中&#xff0c;“树代理”是…

萝卜视频源码前后端带视频演示

萝卜影视源码前端是用JAVA开发的全原生APP源码&#xff0c;后端用的是二次开发的苹果CMS&#xff0c;支持局域网投屏&#xff0c;视频软解硬解&#xff0c;播放器自带弹幕功能。支持解析官方视频&#xff0c;支持M3U8&#xff0c;MP4。 开屏广告&#xff0c;全局广告&#xff0…

GitHub国内打不开(解决办法有效)

最近国内访问github.com经常打不开&#xff0c;无法访问。 github网站打不开的解决方法 1.打开网站http://tool.chinaz.com/dns/ &#xff0c;在A类型的查询中输入 github.com&#xff0c;找出最快的IP地址。 2.修改hosts文件。 在hosts文件中添加&#xff1a; # localhost n…

从0开始搭建若依微服务项目 RuoYi-Cloud(保姆式教程完结)

文章接上一章&#xff1a; 从0开始搭建若依微服务项目 RuoYi-Cloud&#xff08;保姆式教程 一&#xff09;-CSDN博客 四. 项目配置与启动 当上面环境全部准备好之后&#xff0c;接下来就是项目配置。需要将项目相关配置修改成当前相关环境。 数据库配置 新建数据库&#xff…

element ui组件 el-date-picker设置default-time的默认时间

default-time &#xff1a;选择日期后的默认时间值。 如未指定则默认时间值为 00:00:00 默认值修改 <el-form-item label"计划开始时间" style"width: 100%;" prop"planStartTime"><el-date-picker v-model"formData.planStart…

TortoiseSVN各版本汉化包下载

首先进入下载版本列表 1.下载地址&#xff1a;https://sourceforge.net/projects/tortoisesvn/files ​ 2.选择自己版本进入​ 3.选择Language Packs进入&#xff0c;选择对应语言包下载。 ​ 4.在TortoiseSVN根目录下点击安装即可。 ​

解密数据清洗,SQL中的数据分析

大家好&#xff0c;数据库表中的数据经常会很杂乱。数据可能包含缺失值、重复记录、异常值、不一致的数据输入等&#xff0c;在使用SQL进行分析之前清洗数据是非常重要的。 当学习SQL时&#xff0c;可以随意地创建数据库表&#xff0c;更改它们&#xff0c;根据需要更新和删除…

canvas测量文字长度(measureText)

查看专栏目录 canvas实例应用100专栏&#xff0c;提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重…

数据结构——栈和队列(C语言)

栈种常见的数据结构&#xff0c;它用来解决一些数据类型的问题&#xff0c;那么好&#xff0c;我来带着大家来学习一下栈 文章目录 栈对栈的认识栈的模拟实现栈的练习方法一方法二 栈 对栈的认识 栈&#xff08;stack&#xff09;是限定只能在表的一端进行插入删除操作的线性…