Gerais
Argumentos
Imprime o(s) argumento(s) [numerados] com que o arquivo foi executado na linha-de-comando.
// args.go
package main
import (. "fmt"; "flag")
func main() {
flag.Parse()
for i := -1; i < flag.NArg(); i++ {
Printf("%d: %s\n",i,flag.Arg(i))
}
}
Input do usuário
Reconhece o input do usuário e o imprime.
// user_input.go
package main
import(. "fmt"; "os";"bufio")
func main() {
Printf("Escreva alguma coisa: ")
line, _ := (bufio.NewReader(os.Stdin)).ReadString('\n')
Printf("Você escreveu: \"%s\"\n",line[0 : len(line)-1]) // - "\n"
}
Manipulação de arquivo
Ler arquivo
Lê o conteúdo de um arquivo e o imprime.
// read_file.go
package main
import (. "fmt"; "io/ioutil")
func main() {
doc, _ := ioutil.ReadFile("/caminho/para/o/arquivo.txt")
Printf(string(doc) + "\n")
}
Escrever arquivo
Escreve, de forma simples, uma dada string num determinado arquivo.
// write_file.go
package main
import ("io/ioutil")
func main() {
ioutil.WriteFile("um/arquivo.txt",[]byte("Um texto qualquer"),0644)
}
"Traduzir" arquivo (regexp)
Lê-se um arquivo, aplica-se uma substituição na string conteúdo conforme um padrão regex e salva-se o novo conteúdo em um novo arquivo.
// traduce_file.go
package main
import ("io/ioutil"; "regexp")
func main() {
oldfile := "text.txt" //<= "abcdefghijkl"
newfile := "text2.txt"
docu, _ := ioutil.ReadFile(oldfile) // docu = []uint8
doc := string(docu) // doc = string
re := regexp.MustCompile("[b-c]|[i-j]")
docu = []byte(re.ReplaceAllString(doc, "X"))
ioutil.WriteFile(newfile,docu,0644) //=> "aXXdefghXXkl"
}
|