Maison > développement back-end > Golang > le corps du texte

Comment modifier des fichiers en langage Go

藏色散人
Libérer: 2023-01-11 09:23:29
original
5727 Les gens l'ont consulté

Comment modifier des fichiers en langage Go : importez d'abord le package correspondant ; puis ouvrez et lisez le fichier via l'instruction "f, err := os.Open("index.html")..." ; enfin passer L'instruction "bufio.NewWriter(fw)..." peut réécrire le fichier.

Comment modifier des fichiers en langage Go

L'environnement d'exploitation de cet article : système Windows 7, Go1.11.2, ordinateur Dell G3.

Recommandé : "Tutoriel Golang"

Aller à l'implémentation du langage pour modifier le contenu du fichier

Idée

Lisez le fichier, ajoutez ou remplacez le contenu qui doit être modifié, puis écrivez-le dans le fichier.

Modifiez le contenu du fichier

Il existe maintenant un fichier html contenant le contenu suivant

<meta name="testkey" content="hello world" />
Copier après la connexion

Changez hello world avec les caractères requis

Importer le package

import (
    "bufio"
    "fmt"
    "io"
    "log"
    "net/http"
    "os"
    "strings"
)
Copier après la connexion

Lire et écrire le fichier

Lire le fichier

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"
        }
    }
Copier après la connexion

Écrire le fichier (écraser)

fw, err := os. OpenFile ("index.html", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0666)//os.O_TRUNC efface le fichier et le réécrit, sinon le contenu du fichier d'origine peut rester

    w := bufio.NewWriter(fw)
    w.WriteString(result)
    if err != nil {
        panic(err)
    }
    w.Flush()
Copier après la connexion

Mettre en œuvre un Interface http simple

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)
    }
}
Copier après la connexion

Compile

Compiler l'exécution native

go build
Copier après la connexion

Compile croisée sous Linux

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!