Слияние кода завершено, страница обновится автоматически
// Copyright 2019 The GoKeep Authors. All rights reserved.
// license that can be found in the LICENSE file.
// field标签函数
package gktemplate
import (
"fmt"
)
// 解析range标签内容
func TagRange(tag *GKTag, data *D) string {
innertText := string(tag.GetInnerText())
gktp, err := parseTemplate(&innertText, "field", "[", "]", "")
if err != nil {
return ""
}
name := tag.GetAttribute("name")
items, ok := (*data)[name]
if !ok {
return ""
}
var resultString string
var nextTagEnd int
for _, item := range items.([]D) {
nextTagEnd = 0
for i := 0; i < gktp.Count; i++ {
rs, ok := item[gktp.CTags[i].TagName]
if ok {
resultString += string(gktp.SourceString[nextTagEnd : nextTagEnd+gktp.CTags[i].StartPos-nextTagEnd])
switch v := rs.(type) {
case string:
resultString += v
case int:
resultString += fmt.Sprintf("%d", v)
default:
resultString += ""
}
nextTagEnd = gktp.CTags[i].EndPos
}
}
slen := len(gktp.SourceString)
if slen > nextTagEnd {
resultString += string(gktp.SourceString[nextTagEnd:slen])
}
}
return resultString
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )