Heim >Backend-Entwicklung >Golang >So ändern Sie Dateien in der Go-Sprache

So ändern Sie Dateien in der Go-Sprache

藏色散人
藏色散人Original
2021-01-27 11:43:395778Durchsuche

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" />

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"
)

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"
        }
    }

compile

compile native run

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

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)
    }
}

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!

Stellungnahme:
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