Maison > Article > développement back-end > Comment modifier des fichiers en langage Go
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.
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" />
Changez hello world avec les caractères requis
Importer le package
import ( "bufio" "fmt" "io" "log" "net/http" "os" "strings" )
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" } }
É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()
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) } }
Compile
Compiler l'exécution native
go build
Compile croisée sous Linux
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
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!