- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
如果我将两个或更多文件传递给 Go Template 的 ParseFiles 函数会发生什么?
func (*Template) ParseFiles
它帮助说:
ParseFiles parses the named files and associates the resulting templates with t. If an error occurs, parsing stops and the returned template is nil; otherwise it is t. There must be at least one file. Since the templates created by ParseFiles are named by the base names of the argument files, t should usually have the name of one of the (base) names of the files. If it does not, depending on t's contents before calling ParseFiles, t.Execute may fail. In that case use t.ExecuteTemplate to execute a valid template.
When parsing multiple files with the same name in different directories, the last one mentioned will be the one that results.
但我仍然不确定影响输出的差异是什么,因为
MyTempl.ParseFiles(tf1)
对比
MyTempl.ParseFiles(tf1, tf2)
tf2
的内容会附加到tf1
的内容吗?
最佳答案
首先介绍一下"template"的概念:
A template.Template
值是“已解析模板的表示”。但是这里的措辞有点“不完美”。 template.Template
值可以是(并且通常是)多个关联模板的集合。 template.Template
有一个未导出的字段:
tmpl map[string]*Template // Map from name to defined templates.
这个 tmpl
字段包含所有其他关联的模板,模板对模板可见,并且可以通过它们的名称引用。
您可以在这个答案中阅读更多相关信息:Go template name
返回Template.ParseFiles()
方法。此方法从作为参数传递给它的文件中解析多个模板。从文件解析的模板将以文件名命名(没有文件夹,只有文件名),它们将被添加到方法指定的 t
模板的内部关联模板映射中接收者。
解析后的模板不会被追加。将为它们创建多个单独的 template.Template
值,但它们将关联(因此它们可以相互引用,例如它们可以相互包含)。
让我们看一个例子。假设我们有这两个模板文件:
a.html
是:
I'm a.
和b.html
:
I'm b.
还有一个示例代码:
t := template.New("a.html")
if _, err := t.ParseFiles("a.html", "b.html"); err != nil {
panic(err)
}
if err := t.Execute(os.Stdout, nil); err != nil {
panic(err)
}
此示例创建一个名为 a.html
的新空模板,然后解析 2 个文件:a.html
和 b.html
。
结果会怎样? t
将表示 a.html
模板,因为我们之前使用该特定名称创建它。运行代码,输出将是:
I'm a.
现在,如果我们将第一行更改为:
t := template.New("x.html")
其余的保持不变,运行它我们会看到类似的东西:
panic: template: "x.html" is an incomplete or empty template
原因是 t
表示一个名为 x.html
的模板,但它是空的,因为我们没有将任何东西“解析”到其中,并且解析的文件也与名称 x.html
不匹配。因此尝试执行它会导致错误。
现在,如果我们尝试执行其关联的命名模板之一:
if err := t.ExecuteTemplate(os.Stdout, "a.html", nil); err != nil {
panic(err)
}
它成功了,并再次给出:
I'm a.
关于templates - Go Template ParseFiles 函数解析多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44979276/
我正在使用 parse android 库,一切都运行良好。但是保存 ParseFile 的进度回调似乎被打破了。它仅在 0 或 100% 时更新。如果您想显示进度更新,那当然是没有用的。来自 par
我正在尝试使用 Parse javascript SDK 将 PDF 文件另存为 ParseFile: HTML JS function selectFile(e) { var fileUp
我创建了一个配置文件创建页面,用户可以在其中填写各种记录到解析中的信息。在此 Activity 页面中,将检索来自解析的信息列表,例如列表中许多用户的年龄、姓名、标题和图片(不包括当前用户)。然而,我
我试图通过“objectId”找到一个 ParseObject,然后检索图像“ImageFile”,然后将其加载到 imageview,它不起作用,我正在获取 USER 字符串,你能帮帮我吗有了这个,
我的 ParseUser 类有一个名为“profile_photo”的自定义列,它是一张照片的 ParseFile。我已将照片文件附加到 ParseUser 实例,我可以在我的应用程序用户仪表板上看到
ParseImageView 是否在 Android 中缓存 ParseFile。如果它缓存了 parseFile,我如何在我的 android 设备中找到这些文件的路径。 ParseImageVie
我有一个 Parse Android 应用程序,我正在为其实现 Facebook 注册。目前我坚持抓取图像以设置为新 ParseUser 的个人资料图片。我已经成功地使用 Facebook Graph
我有以下 http.Handle 函数(简化): func loginHandler(w http.ResponseWriter, r *http.Request) { cwd, _
ParseFile 似乎没有 ACL,或者换句话说,一旦 ParseFile 的 URL 被公开,任何可以发出 GET http 请求的人都可以使用该文件。 我希望我在文档中遗漏了一些东西,因为这听起
我是 Parse 新手,想知道是否有任何方法可以将给定 ParseUser 的所有 ParseFiles(在本例中为图像)存储到 ArrayList 之类的内容中? 这是我的代码: public Ar
我想从解析到 ImageView 获取文件。我试图通过“getDataInBackgound”获得,但是当我调用此方法时,UI 卡住了,我得到了最后一张图片。 ParseFile image = ta
我正在使用 parse.com Android SDK 来管理我的应用程序中的一些图像。 cancel() 是停止与 parse.com 服务器交易的唯一方法吗? 最小的例子: final Parse
我已经从“parse.com”中检索到一个“ParseFile”。但是,我无法找到读取该“ParseFile”的正确方法。我尝试使用 Java 的“BufferReader”读取 parseFile
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
如果我将两个或更多文件传递给 Go Template 的 ParseFiles 函数会发生什么? func (*Template) ParseFiles 它帮助说: ParseFiles parses
看完this video ,我自己试试。但是,我收到 panic 错误 panic: open templates/index.html: The system cannot find the pat
我当前的目录结构如下: App - Template - foo.go - foo.tmpl - Model - bar.go - Another - Di
对于我的 ParseUsers,有一个名为“profilePicture”的 ParseFile 类型的列,并且给定一个用户,我尝试检索 ParseFile 并使用以下代码将其转换为位图: P
我在尝试使用 typesafehub ConfigFactory fileParser 的变量替换时遇到问题 我的代码是 Configuration(ConfigFactory.parseFile(n
我正在尝试从 Parse.com 检索图像。在 DataBrowser 中,如果图像文件为空,则代码会崩溃。所以我通过检查 file!=null 来处理这个错误。 它在这一行崩溃 ParseFile
我是一名优秀的程序员,十分优秀!