mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			139 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			139 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Go
		
	
	
	
// 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 ExampleExpand() {
 | 
						|
	mapper := func(placeholderName string) string {
 | 
						|
		switch placeholderName {
 | 
						|
		case "DAY_PART":
 | 
						|
			return "morning"
 | 
						|
		case "USER":
 | 
						|
			return "Gopher"
 | 
						|
		}
 | 
						|
 | 
						|
		return ""
 | 
						|
	}
 | 
						|
 | 
						|
	fmt.Println(os.Expand("Good ${DAY_PART}, $USER!", mapper))
 | 
						|
 | 
						|
	// Output:
 | 
						|
	// Good morning, Gopher!
 | 
						|
}
 | 
						|
 | 
						|
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")
 | 
						|
}
 |