我目前正在学习如何使用 Go(或 golang)进行开发,但我遇到了一个奇怪的问题:
我尝试创建一个在 HTML 文件中查找的脚本,以便获取每个文件的所有源标签。该脚本的目标是合并所有检索到的文件。
所以,这就是故事:现在,我能够获取每个 JavaScript 文件的内容,但是......我无法连接它们......
你可以在下面看到我的脚本:
//Open main file
mainFilePath := "/path/to/my/file.html"
mainFileDir := path.Dir(mainFilePath)+"/"
mainFileContent, err := ioutil.ReadFile(mainFilePath)
if err == nil {
mainFileContent := string(mainFileContent)
var finalFileContent bytes.Buffer
//Start RegExp searching for JavaScript src
scriptReg, _ := regexp.Compile("<script src=\"(.*)\">")
scripts := scriptReg.FindAllStringSubmatch(mainFileContent,-1)
//For each SRC found...
for _, path := range scripts {
//We open the corresponding file
subFileContent, err := ioutil.ReadFile(mainFileDir+path[1])
if err == nil {
//And we add its content to the "final" variable
fmt.Println(finalFileContent.Write(subFileContent))
} else {
fmt.Println(err)
}
}
//Try to display the final result
// fmt.Println(finalFileContent.String())
fmt.Printf(">>> %#v", finalFileContent)
fmt.Println("Y U NO WORKS? :'(")
} else {
fmt.Println(err)
}
因此,每个都fmt.Println(finalFileContent.Write(subFileContent))
显示类似6161的内容,因此我假设Write()方法已正确执行。
但fmt.Printf(">>> %#v", finalFileContent)
什么也没显示。绝对没有(甚至“>>>”也没有显示!)上面的注释行也是如此。
有趣的是,字符串"YU NO WORK ? :'("正确显示...
你知道为什么吗?你知道如何解决这个问题吗?
提前致谢!