So ändern Sie Dateien in der Go-Sprache

藏色散人
Freigeben: 2023-01-11 09:23:29
Original
5747 Leute haben es durchsucht

So ändern Sie Dateien in der Go-Sprache: Importieren Sie zuerst das entsprechende Paket, öffnen und lesen Sie dann die Datei über die Anweisung „f, err := os.Open(“index.html“) …“ .NewWriter (fw)..."-Anweisung kann in die Datei umgeschrieben werden.

So ändern Sie Dateien in der Go-Sprache

Die Betriebsumgebung dieses Artikels: Windows 7-System, Go1.11.2, Dell G3-Computer.

Empfohlen: „Golang-Tutorial

Gehen Sie zur Sprache, um sich ändernden Dateiinhalt zu implementieren

Idee

Lesen Sie die Datei, hängen Sie den zu ändernden Inhalt an oder ersetzen Sie ihn und schreiben Sie ihn dann zur Datei.

Ändern Sie den Inhalt der Datei.

Jetzt gibt es eine HTML-Datei, die den folgenden Inhalt enthält

<meta name="testkey" content="hello world" />
Nach dem Login kopieren

Datei schreiben (überschreiben)

fw, err := os.OpenFile("index.html", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0666)//os.O_TRUNC löscht die Datei und schreibt sie neu , andernfalls kann der ursprüngliche Dateiinhalt erhalten bleiben.

import (
    "bufio"
    "fmt"
    "io"
    "log"
    "net/http"
    "os"
    "strings"
)
Nach dem Login kopieren

implementieren Sie eine einfache http-Schnittstelle

f, err := os.Open("index.html")
    if err != nil {
        return err
    }
    buf := bufio.NewReader(f)
    var rep = []string{"<meta name=\"testkey\" content=\"", arg1, "\" /> "}
    var result = ""
    for {
        a, _, c := buf.ReadLine()
        if c == io.EOF {
            break
        }
        if strings.Contains(string(a), "baidu-site-verification") {
            result += strings.Join(rep, "") + "\n"
        } else {
            result += string(a) + "\n"
        }
    }
Nach dem Login kopieren

compile

compile native run

    w := bufio.NewWriter(fw)
    w.WriteString(result)
    if err != nil {
        panic(err)
    }
    w.Flush()
Nach dem Login kopieren

cross compile linux run

func replace(w http.ResponseWriter, r *http.Request) {
    r.ParseForm()
    var arg1 string = r.FormValue("p1")//参数key
    ReadLine("index.html", arg1)
    fmt.Fprintf(w, "success") //返回结果
}
func main() {
    http.HandleFunc("/replace", replace)     //设置访问的路由
    err := http.ListenAndServe(":9090", nil) //设置监听的端口
    if err != nil {
        log.Fatal("ListenAndServe: ", err)
    }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo ändern Sie Dateien in der Go-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage