| // 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 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.Stat("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") | |
| } |