Beispiele in GoLang#

Interpretieren: go run <file> Kompilieren: go build <file>


read file, modify it and write it back (28.12.2021)#

package main

// filemodify.go - read file, modify it and write it back

/*cat testdata/hello
hello gopher
hello helmut
*/

// inspired by:
// https://pkg.go.dev/io/ioutil#example-ReadFile on 20211228
// and
// https://www.geeksforgeeks.org/strings-replace-function-in-golang-with-examples/

import (
        "fmt"
        "io/ioutil"
        "log"
        "strings"
)

func main() {
        content, err := ioutil.ReadFile("testdata/hello")
        if err != nil {  
                log.Fatal(err)
        }

        //https://yourbasic.org/golang/convert-string-to-byte-slice/
        //s := string([]byte{65, 66, 67, 226, 130, 172})
        contentstring := string(content)

        //strings.Replace(contentstring, "helmut", "hannelore", -1) // -1 replaces all
        contentmodifiedstring := strings.Replace(contentstring, "h", "g", 2)
        //strings.ReplaceAll(contentstring, "h", "g")

        fmt.Printf("File contents:\n%s", contentmodifiedstring)

        //b := []byte("ABC€")
        contentbyte := []byte(contentmodifiedstring)

        //func WriteFile(filename string, data []byte, perm fs.FileMode) error
        errwrite := ioutil.WriteFile("testdata/hellomodified", contentbyte, 0644)
        if err != nil {
                log.Fatal(errwrite)
        }

}


Prüfung in testfile.go, ob Datei existiert (29.12.2021)#

package main

// testfile.go - test, ob Datei existiert
// Quelle: https://stackoverflow.com/questions/12518876/how-to-check-if-a-file-exists-in-go

import (
        "fmt"
	"os"
	"errors"
)


func main() {

	filepath := string("D:/Benutzer/f003228/src/go/testfile/testfile")

	if _, err := os.Stat(filepath); errors.Is(err, os.ErrNotExist) {
  		// path/to/whatever does not exist
		fmt.Printf("Datei %s existiert nicht\n", filepath)
	} else {
  		fmt.Printf("Datei %s existiert\n", filepath)
	}
}


Fin

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-3) was last changed on 29-Dec-2021 08:21 by Markus Monderkamp