{{end}}`
Здесь .Files относится к фрагменту файлов, но мы хотим получить доступ к пути включающей структуры scriptFiles. Использование $.Path позволяет нам это сделать.
Использование пользовательской переменной (устаревший метод)
Альтернативный метод включает создание пользовательской переменной для передачи в область диапазона. , как показано в этом шаблоне:
const page = `{{$p := .Path}}{{range .Files}}{{end}}`
Установив $p в .Path перед конвейером диапазона, мы может получить доступ к пути внутри конвейера.
Примечание: Рекомендуется использовать метод $variable, поскольку это более краткий и идиоматический подход в текущем Go. версии.
","image":"http://www.luping.net/uploads/20241110/17312284916730734b51bb5.jpg","datePublished":"2024-11-10T18:28:28+08:00","dateModified":"2024-11-10T18:28:28+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}Доступ к родительскому конвейеру в пределах диапазона в действиях шаблона
В шаблонах Go обычно используются конвейеры диапазона для перебора срезов или карт. Однако частая проблема возникает при попытке доступа к данным за пределами непосредственной области действия конвейера. В этой статье рассказывается, как этого добиться.
Использование переменной $ (рекомендуется)
В документации по тексту/шаблону указано, что при начале выполнения переменная $ ссылается на данные. аргумент передается в Execute. Это означает, что мы можем получить доступ к данным внешней области, используя $.variable.
Например, рассмотрим этот шаблон:
const page = `{{range .Files}}{{end}}`
Здесь .Files относится к фрагменту файлов, но мы хотим получить доступ к пути включающей структуры scriptFiles. Использование $.Path позволяет нам это сделать.
Использование пользовательской переменной (устаревший метод)
Альтернативный метод включает создание пользовательской переменной для передачи в область диапазона. , как показано в этом шаблоне:
const page = `{{$p := .Path}}{{range .Files}}{{end}}`
Установив $p в .Path перед конвейером диапазона, мы может получить доступ к пути внутри конвейера.
Примечание: Рекомендуется использовать метод $variable, поскольку это более краткий и идиоматический подход в текущем Go. версии.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3