...
Run Format

Source file src/os/example_test.go

Documentation: os

  // Copyright 2016 The Go Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style
  // license that can be found in the LICENSE file.
  
  package os_test
  
  import (
  	"fmt"
  	"log"
  	"os"
  	"time"
  )
  
  func ExampleOpenFile() {
  	f, err := os.OpenFile("notes.txt", os.O_RDWR|os.O_CREATE, 0755)
  	if err != nil {
  		log.Fatal(err)
  	}
  	if err := f.Close(); err != nil {
  		log.Fatal(err)
  	}
  }
  
  func ExampleOpenFile_append() {
  	// If the file doesn't exist, create it, or append to the file
  	f, err := os.OpenFile("access.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
  	if err != nil {
  		log.Fatal(err)
  	}
  	if _, err := f.Write([]byte("appended some data\n")); err != nil {
  		log.Fatal(err)
  	}
  	if err := f.Close(); err != nil {
  		log.Fatal(err)
  	}
  }
  
  func ExampleChmod() {
  	if err := os.Chmod("some-filename", 0644); err != nil {
  		log.Fatal(err)
  	}
  }
  
  func ExampleChtimes() {
  	mtime := time.Date(2006, time.February, 1, 3, 4, 5, 0, time.UTC)
  	atime := time.Date(2007, time.March, 2, 4, 5, 6, 0, time.UTC)
  	if err := os.Chtimes("some-filename", atime, mtime); err != nil {
  		log.Fatal(err)
  	}
  }
  
  func ExampleFileMode() {
  	fi, err := os.Lstat("some-filename")
  	if err != nil {
  		log.Fatal(err)
  	}
  
  	switch mode := fi.Mode(); {
  	case mode.IsRegular():
  		fmt.Println("regular file")
  	case mode.IsDir():
  		fmt.Println("directory")
  	case mode&os.ModeSymlink != 0:
  		fmt.Println("symbolic link")
  	case mode&os.ModeNamedPipe != 0:
  		fmt.Println("named pipe")
  	}
  }
  
  func ExampleIsNotExist() {
  	filename := "a-nonexistent-file"
  	if _, err := os.Stat(filename); os.IsNotExist(err) {
  		fmt.Printf("file does not exist")
  	}
  	// Output:
  	// file does not exist
  }
  
  func init() {
  	os.Setenv("USER", "gopher")
  	os.Setenv("HOME", "/usr/gopher")
  	os.Unsetenv("GOPATH")
  }
  
  func ExampleExpandEnv() {
  	fmt.Println(os.ExpandEnv("$USER lives in ${HOME}."))
  
  	// Output:
  	// gopher lives in /usr/gopher.
  }
  
  func ExampleLookupEnv() {
  	show := func(key string) {
  		val, ok := os.LookupEnv(key)
  		if !ok {
  			fmt.Printf("%s not set\n", key)
  		} else {
  			fmt.Printf("%s=%s\n", key, val)
  		}
  	}
  
  	show("USER")
  	show("GOPATH")
  
  	// Output:
  	// USER=gopher
  	// GOPATH not set
  }
  
  func ExampleGetenv() {
  	fmt.Printf("%s lives in %s.\n", os.Getenv("USER"), os.Getenv("HOME"))
  
  	// Output:
  	// gopher lives in /usr/gopher.
  }
  
  func ExampleUnsetenv() {
  	os.Setenv("TMPDIR", "/my/tmp")
  	defer os.Unsetenv("TMPDIR")
  }
  

View as plain text