collections.NewScratch
Syntax
collections.NewScratch
Returns
maps.Scratch
Alias
newScratch
collections.NewScratch
函数创建一个本地范围的scratch pad,用于存储和操作数据。如果要创建与 Page
对象关联的 scratch pad,请使用 Scratch
或 Store
方法。
方法
- Set
- 设置给定键的值。
{{ $s := newScratch }}
{{ $s.Set "greeting" "Hello" }}
- Get
- 获取给定键的值。
{{ $s := newScratch }}
{{ $s.Set "greeting" "Hello" }}
{{ $s.Get "greeting" }} → Hello
- Add
- 将给定值添加到给定键的现有值中。
-
对于单个值,
Add
接受支持Go的+
运算符的值。如果第一个Add
是数组或切片,则后续的添加操作将追加到该列表中。
{{ $s := newScratch }}
{{ $s.Set "greeting" "Hello" }}
{{ $s.Add "greeting" "Welcome" }}
{{ $s.Get "greeting" }} → HelloWelcome
{{ $s := newScratch }}
{{ $s.Set "total" 3 }}
{{ $s.Add "total" 7 }}
{{ $s.Get "total" }} → 10
{{ $s := newScratch }}
{{ $s.Set "greetings" (slice "Hello") }}
{{ $s.Add "greetings" (slice "Welcome" "Cheers") }}
{{ $s.Get "greetings" }} → [Hello Welcome Cheers]
- SetInMap
- 接受
key
、mapKey
和value
,并将mapKey
和value
的映射添加到给定的key
上。
{{ $s := newScratch }}
{{ $s.SetInMap "greetings" "english" "Hello" }}
{{ $s.SetInMap "greetings" "french" "Bonjour" }}
{{ $s.Get "greetings" }} → map[english:Hello french:Bonjour]
- DeleteInMap
- 接受
key
和mapKey
,从给定的key
中删除mapKey
的映射。
{{ $s := newScratch }}
{{ $s.SetInMap "greetings" "english" "Hello" }}
{{ $s.SetInMap "greetings" "french" "Bonjour" }}
{{ $s.DeleteInMap "greetings" "english" }}
{{ $s.Get "greetings" }} → map[french:Bonjour]
- GetSortedMapValues
- 按
mapKey
对key
的值进行排序,并返回一个值数组。
{{ $s := newScratch }}
{{ $s.SetInMap "greetings" "english" "Hello" }}
{{ $s.SetInMap "greetings" "french" "Bonjour" }}
{{ $s.GetSortedMapValues "greetings" }} → [Hello Bonjour]
- Delete
- 删除给定的键。
{{ $s := newScratch }}
{{ $s.Set "greeting" "Hello" }}
{{ $s.Delete "greeting" }}
- Values
- 返回原始的 backing map。由于并发问题,请勿在
Page
对象上使用Scratch
或Store
方法。