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

news/2024/7/7 21:38:02

模板函数列表

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://lihuaxi.xjx100.cn/news/2000017.html

相关文章

微信小程序如何调整checkbox和radios选择框的大小和样式

目录 修改选中框大小 修改Checkbox样式 修改Radio样式 修改选中框大小 直接使用width和height调整checkbox和radios选择框的大小是无效的,简单的调整大小可以通过修改transform值,如下所示: .wxss .fill-checkbox{transform: scale(0.5,0.5); } scale参数分别为在长…

【Spark系列5】Dataframe下常用算子API

Apache Spark DataFrame API 提供了丰富的方法来处理分布式数据集。以下是一些常见的 DataFrame API 类别和方法&#xff0c;但这不是一个完整的列表&#xff0c;因为 API 非常广泛。这些方法可以分为几个主要类别&#xff1a; 转换操作&#xff08;Transformations&#xff0…

Glide完全解读

一&#xff0c;概述 glide作为android流行的图片加载框架&#xff0c;笔者认为有必要对此完全解读。glide提供了三级缓存、生命周期Destroy后自动移除缓存、自动适配ImageView&#xff0c;以及提供了各种对图片修饰的操作&#xff0c;如剪裁等。本文通过最简单的使用&#xff…

STM32——ADC

STM32——ADC 1.ADC介绍 ADC是什么&#xff1f; 全称&#xff1a;Analog-to-Digital Converter&#xff0c;指模拟/数字转换器! ADC性能指标 量程&#xff1a;能测量的电压范围分辨率&#xff1a;ADC能辨别的最小模拟量&#xff0c;通常以输出二进制数的位数表示&#xf…

大创项目推荐 题目:基于深度学习卷积神经网络的花卉识别 - 深度学习 机器视觉

文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基…

【Spring连载】使用Spring Data访问Redis(一)----快速指南

【Spring连载】使用Spring Data访问Redis&#xff08;一&#xff09;----快速指南 一、导入依赖二、Hello World程序 一、导入依赖 在pom.xml文件加入如下依赖就可以下载到spring data redis的jar包了&#xff1a; <dependency><groupId>org.springframework.boot…

npm安装下载修改镜像源

问题描述一 npm install 时&#xff0c;报错&#xff1a;npm ERR! network request to https://registry.npmjs.org/postcss-pxtorem failed, reason: connect ETIMEDOU&#xff0c;这是因为默认npm安装会请求国外的镜像源&#xff0c;导致下载缓慢容易断开请求下载失败的 np…

Flink 添加 / 部署 Jar 包的若干注意事项

Flink 添加 / 部署 Jar 包可根据 Jar 包的声明周期、作用范围选择不同的附属方式&#xff0c;从实际应用上来看&#xff0c;可以分成以下几种场景&#xff1a; 普遍使用的框架或基础设施级别的 Jar 包&#xff0c;例如 Kafka、Hive、Hudi 等 Connector 的Jar 包&#xff0c;应…