Scratch
Syntax
PAGE.Scratch
Returns
maps.Scratch
Page对象上的Scratch方法创建一个scratch pad,用于存储和操作数据。要创建一个在服务器重建时不重置的scratch pad,请改用Store方法。
要创建一个局部范围的scratch pad,不依附于Page对象,请使用newScratch函数。
方法
- Set
- 设置给定键的值。
{{ .Scratch.Set "greeting" "Hello" }}
- Get
- 获取给定键的值。
{{ .Scratch.Set "greeting" "Hello" }}
{{ .Scratch.Get "greeting" }} → Hello
- Add
- 将给定值添加到给定键的现有值之中。
-
对于单个值,
Add接受支持 Go 的+运算符的值。如果首个Add是数组或切片,后续的添加将附加到该列表之后。
{{ .Scratch.Set "greeting" "Hello" }}
{{ .Scratch.Add "greeting" "Welcome" }}
{{ .Scratch.Get "greeting" }} → HelloWelcome
{{ .Scratch.Set "total" 3 }}
{{ .Scratch.Add "total" 7 }}
{{ .Scratch.Get "total" }} → 10
{{ .Scratch.Set "greetings" (slice "Hello") }}
{{ .Scratch.Add "greetings" (slice "Welcome" "Cheers") }}
{{ .Scratch.Get "greetings" }} → [Hello Welcome Cheers]
- SetInMap
- 接受
key、mapKey和value,并将mapKey和value的映射添加到给定key。
{{ .Scratch.SetInMap "greetings" "english" "Hello" }}
{{ .Scratch.SetInMap "greetings" "french" "Bonjour" }}
{{ .Scratch.Get "greetings" }} → map[english:Hello french:Bonjour]
- DeleteInMap
- 接受
key和mapKey,并从给定key中移除mapKey的映射。
{{ .Scratch.SetInMap "greetings" "english" "Hello" }}
{{ .Scratch.SetInMap "greetings" "french" "Bonjour" }}
{{ .Scratch.DeleteInMap "greetings" "english" }}
{{ .Scratch.Get "greetings" }} → map[french:Bonjour]
- GetSortedMapValues
- 按
mapKey对key中的值进行排序,并返回一个值数组。
{{ .Scratch.SetInMap "greetings" "english" "Hello" }}
{{ .Scratch.SetInMap "greetings" "french" "Bonjour" }}
{{ .Scratch.GetSortedMapValues "greetings" }} → [Hello Bonjour]
- Delete
- 移除给定的键。
{{ .Scratch.Set "greeting" "Hello" }}
{{ .Scratch.Delete "greeting" }}