私は現在、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)
}
したがって、それぞれが6161fmt.Println(finalFileContent.Write(subFileContent))
のようなものを表示するので、Write()メソッドが正しく実行されていると思います。
しかし、fmt.Printf(">>> %#v", finalFileContent)
何も表示されません。絶対に何もありません(> >>>も表示されません!)そして、すぐ上のコメント行についても同じです。
面白いのは、文字列「YU NO WORK?:'(」が正しく表示されることです。..
なぜなのかご存知ですか?そして、あなたはこの問題を解決する方法を知っていますか?
前もって感謝します!