L'éditeur PHP Xigua vous présente une fonctionnalité intéressante dans Golang - plusieurs conditions de texte/modèle avec l'opérateur !not. Cette fonctionnalité est très pratique dans le moteur de modèles de Golang et peut nous aider à gérer les jugements conditionnels de manière plus flexible. En utilisant l'opérateur !not, nous pouvons juger plusieurs conditions en même temps dans le modèle, simplifier la logique du code et améliorer l'efficacité du développement. Cet article présentera en détail comment utiliser cette fonctionnalité et donnera quelques exemples d'utilisation pour aider chacun à mieux la comprendre et l'appliquer. Explorons ensemble cette fonctionnalité intéressante de Golang !
Comment utiliser la fonction de modèle indirect pour enchaîner plusieurs conditions dans Go ?
Je veux vérifier .hello
是否不包含“world”并且 .world
是否不包含“hello”,但我不能,因为我得到 2009/11/10 23:00:00 执行 template: template : content:2:5: 在 <not> 执行“content”:not 的参数数量错误:want 1 收到 2
message d'erreur
package main import ( "log" "os" "strings" "text/template" ) var ( templateFuncMap = template.FuncMap{ "contains": strings.Contains, } ) func main() { // Define a template. const temp = ` {{if not (contains .hello "hello") (contains .world "hello") }} passed {{else}} not passed {{end}}` s := map[string]string{ "hello": "world", "world": "hello", } t := template.Must(template.New("content").Funcs(templateFuncMap).Parse(temp)) err := t.Execute(os.Stdout, s) if err != nil { log.Println("executing template:", err) } }
Aller au lien du terrain de jeu : https://go.dev/play/p/lWZwjbnSewy
not
nécessite un paramètre, des parenthèses doivent donc être utilisées.
Si vous faites cela, la condition que vous souhaitez annuler est contains "hello" 或 contains "world"
:
{{if not (or (contains .hello "hello") (contains .world "hello")) }}
Cela affichera (essayez-le sur Go Playground) :
not passed
Vous pouvez également écrire cette condition sous la forme not contains "hello" and not contains "world"
, comme indiqué ci-dessous :
{{if and (not (contains .hello "hello")) (not (contains .world "hello")) }}
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!