注意事项:

某些当函数的参数由字符串组成多个参数,内部会自动转换为 map[string]interface 类型,多个参数间使用 | 分隔,当字符串中需要组合变量时,应使用”print” 来组合
全局函数首字母均为大写开头,以驼峰法命名
如果函数返回的是切片、数组、map等可迭代类型,可以直接使用range 循环, 例如: ${range $key,$value := GetArticleList “pageSize:10”}

基本示例:

// 单个参数
${$newsList := GetArticleList "pageSize:10"}
// 多个参数
${$newsList := GetArticleList "pageSize:10 | orderBy:published_at desc,id desc | cateId:1"}
// 直接迭代
<ul>
${range $key,$news := GetArticleList "pageSize:10"}
  <li>
    <a href="${$news.Url}">${$news.Title}</a>
  </li>
${end}
</ul>

高级用法 - 在字符串中使用变量

例:

// 获取频道栏目ID为2的下级栏目
${range $category := GetMenu "parentId:2"}
<ul>
  // 遍历所有子级栏目,每个栏目取出5条新闻,因为不能直接写参数:"cateId:$category.Id | pageSize:5 | orderBy:published_at desc",需要先用print来组合
  ${range $news := GetArticleList (print "cateId:" $category.Id " | pageSize:5 | orderBy:published_at desc")}
  <li>${$news.Title}</li>
  ${end}
</ul>
${end}

gstr包中的函数

AddSlashes
Chr
ChunkSplit
Compare
Count
CountChars
CountI
CountWords
Equal
Explode
Fields
HasPrefix
HasSuffix
HideStr
Implode
InArray
IsLetterLower
IsLetterUpper
IsNumeric
Join
JoinAny
LcFirst
LenRune
Nl2Br
NumberFormat
Ord
QuoteMeta
Repeat
Replace
ReplaceByArray
ReplaceByMap
ReplaceI
ReplaceIByArray
ReplaceIByMap
Reverse
SearchArray
Shuffle
Split
SplitAndTrim
Str
StrEx
StripSlashes
StrLimit
StrLimitRune
StrTill
StrTillEx
SubStr
SubStrRune
ToLower
ToUpper
UcFirst
UcWords
WordWrap

作者:袁学飞  创建时间:2023-03-08 11:45
最后编辑:袁学飞  更新时间:2024-02-27 14:47