Maison > développement back-end > Golang > Erreur d'analyse du modèle : template::1 : inattendu '=' dans l'opérande

Erreur d'analyse du modèle : template::1 : inattendu '=' dans l'opérande

PHPz
Libérer: 2024-02-11 09:00:10
avant
900 Les gens l'ont consulté

"Erreur

l'éditeur php Baicao vous présente le problème des erreurs d'analyse des modèles. Au cours du processus d'analyse du modèle, nous rencontrons souvent des erreurs, la plus courante étant l'erreur « Erreur d'analyse du modèle : Modèle : 1 : erreur "=" in operand » inattendue. Cette erreur se produit généralement lorsque nous utilisons le signe égal "=" pour attribuer une valeur. Pour éviter cette erreur, nous devons vérifier attentivement le code et nous assurer que le signe égal est utilisé correctement. Grâce à une analyse correcte du modèle, nous pouvons éviter cette erreur et améliorer la lisibilité et la maintenabilité du code.

Contenu des questions

template parsing error: template: :1: unexpected "=" in operand
Copier après la connexion

L'erreur ci-dessus s'est produite lors de l'exécution de la commande suivante sous Windows,

docker inspect --format="{{range $key, $value := .Config.Env}}{{if eq (index (split $value "=") 0) "VERSION"}}{{$value}}{{end}}{{end}}" octopusbi-agent-backend
Copier après la connexion

Quel pourrait être le problème ?

Solution

"=" 符号的问题,如果在双引号(") 标记括起来的字符串内使用双引号(") 标记,则必须添加反斜杠( ) 在每个双引号(") 标记之前,不包括第一个和最后一个双引号(") marque.

Exemple :-

"hello "your_name""  <-- wrong
"hello \"your_name\""  <-- correct
Copier après la connexion

fenêtres

Comme je l'ai déjà mentionné, j'ai ajouté "=" 更改为 "=" ,之后,我遇到了另一个与名为 "version" 的其他字符串值相关的问题。为此,我还必须将 "version" 更改为 "version" et cela a fonctionné comme je m'y attendais.

La commande finale est donc la suivante :

docker inspect --format="{{range $key, $value := .config.env}}{{if eq (index (split $value \"=\") 0) \"version\"}}{{$value}}{{end}}{{end}}" octopusbi-agent-backend
Copier après la connexion

ubuntu

J'ai exécuté la même commande dans Ubuntu avec les guillemets d'ouverture et de fermeture marqués par des guillemets simples (') 标记,并保留其余的双引号(").

La commande finale est donc la suivante :

docker inspect --format='{{range $key, $value := .Config.Env}}{{if eq (index (split $value "=") 0) "VERSION"}}{{$value}}{{end}}{{end}}' octopusbi-agent-backend
Copier après la connexion

Résumé

Si vous utilisez la commande avec --format 选项的 dockerspect,

  • Dans Windows : -
    1. La chaîne de format doit commencer par un guillemet double (").
    2. Si vous souhaitez utiliser des marqueurs guillemets doubles (")标记,请使用") dans la chaîne de format, utilisez
    3. .
    1. Dans Ubuntu : -
    2. 'La chaîne de format doit commencer par un guillemet simple (
    3. ).
    4. "N'hésitez pas à utiliser des guillemets doubles (
    5. ) dans la chaîne de format.

"Le plus court est que si nous devons utiliser des guillemets, nous devons utiliser des marqueurs de guillemets doubles (

) à l'intérieur de la chaîne de format pour les deux environnements. 🎜

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!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal