X7ROOT File Manager
Current Path:
/opt/golang/1.22.0/src/os
opt
/
golang
/
1.22.0
/
src
/
os
/
📁
..
📄
dir.go
(4.4 KB)
📄
dir_darwin.go
(3.34 KB)
📄
dir_plan9.go
(2.1 KB)
📄
dir_unix.go
(5.24 KB)
📄
dir_windows.go
(7.17 KB)
📄
dirent_aix.go
(759 B)
📄
dirent_dragonfly.go
(1.28 KB)
📄
dirent_freebsd.go
(1.16 KB)
📄
dirent_js.go
(678 B)
📄
dirent_linux.go
(1.18 KB)
📄
dirent_netbsd.go
(1.16 KB)
📄
dirent_openbsd.go
(1.16 KB)
📄
dirent_solaris.go
(759 B)
📄
dirent_wasip1.go
(1.36 KB)
📄
endian_big.go
(244 B)
📄
endian_little.go
(304 B)
📄
env.go
(3.85 KB)
📄
env_test.go
(5.04 KB)
📄
env_unix_test.go
(1.22 KB)
📄
error.go
(4.76 KB)
📄
error_errno.go
(247 B)
📄
error_plan9.go
(234 B)
📄
error_posix.go
(538 B)
📄
error_test.go
(4.92 KB)
📄
error_unix_test.go
(1.49 KB)
📄
error_windows_test.go
(1.72 KB)
📄
example_test.go
(8.39 KB)
📁
exec
📄
exec.go
(6.01 KB)
📄
exec_plan9.go
(3.27 KB)
📄
exec_posix.go
(3.44 KB)
📄
exec_unix.go
(2.09 KB)
📄
exec_unix_test.go
(999 B)
📄
exec_windows.go
(4.57 KB)
📄
exec_windows_test.go
(1.78 KB)
📄
executable.go
(774 B)
📄
executable_darwin.go
(613 B)
📄
executable_dragonfly.go
(293 B)
📄
executable_freebsd.go
(292 B)
📄
executable_path.go
(2.31 KB)
📄
executable_plan9.go
(427 B)
📄
executable_procfs.go
(904 B)
📄
executable_solaris.go
(695 B)
📄
executable_sysctl.go
(891 B)
📄
executable_test.go
(3.4 KB)
📄
executable_wasm.go
(333 B)
📄
executable_windows.go
(641 B)
📄
export_linux_test.go
(337 B)
📄
export_test.go
(433 B)
📄
export_unix_test.go
(241 B)
📄
export_windows_test.go
(395 B)
📄
fifo_test.go
(4.62 KB)
📄
file.go
(24.91 KB)
📄
file_mutex_plan9.go
(1.81 KB)
📄
file_open_unix.go
(397 B)
📄
file_open_wasip1.go
(818 B)
📄
file_plan9.go
(15.99 KB)
📄
file_posix.go
(7.1 KB)
📄
file_unix.go
(14.05 KB)
📄
file_wasip1.go
(633 B)
📄
file_windows.go
(12.65 KB)
📄
getwd.go
(2.52 KB)
📄
os_test.go
(77.07 KB)
📄
os_unix_test.go
(11.47 KB)
📄
os_windows_test.go
(41.83 KB)
📄
path.go
(2.27 KB)
📄
path_plan9.go
(492 B)
📄
path_test.go
(2.96 KB)
📄
path_unix.go
(1.56 KB)
📄
path_windows.go
(5.66 KB)
📄
path_windows_test.go
(4.03 KB)
📄
pipe2_unix.go
(640 B)
📄
pipe_test.go
(12.41 KB)
📄
pipe_unix.go
(760 B)
📄
pipe_wasm.go
(488 B)
📄
proc.go
(2.27 KB)
📄
rawconn.go
(993 B)
📄
rawconn_test.go
(1.15 KB)
📄
read_test.go
(3.2 KB)
📄
readfrom_linux_test.go
(20.3 KB)
📄
removeall_at.go
(4.91 KB)
📄
removeall_noat.go
(3.13 KB)
📄
removeall_test.go
(11.96 KB)
📁
signal
📄
stat.go
(965 B)
📄
stat_aix.go
(1.18 KB)
📄
stat_darwin.go
(1.09 KB)
📄
stat_dragonfly.go
(1.06 KB)
📄
stat_freebsd.go
(1.07 KB)
📄
stat_js.go
(1.11 KB)
📄
stat_linux.go
(1.06 KB)
📄
stat_netbsd.go
(1.07 KB)
📄
stat_openbsd.go
(1.06 KB)
📄
stat_plan9.go
(2.37 KB)
📄
stat_solaris.go
(1.3 KB)
📄
stat_test.go
(6.46 KB)
📄
stat_unix.go
(1.23 KB)
📄
stat_wasip1.go
(956 B)
📄
stat_windows.go
(4.93 KB)
📄
sticky_bsd.go
(425 B)
📄
sticky_notbsd.go
(320 B)
📄
sys.go
(294 B)
📄
sys_aix.go
(682 B)
📄
sys_bsd.go
(466 B)
📄
sys_js.go
(313 B)
📄
sys_linux.go
(1.04 KB)
📄
sys_plan9.go
(453 B)
📄
sys_solaris.go
(265 B)
📄
sys_unix.go
(493 B)
📄
sys_wasip1.go
(309 B)
📄
sys_windows.go
(874 B)
📄
tempfile.go
(3.8 KB)
📄
tempfile_test.go
(5.49 KB)
📁
testdata
📄
timeout_test.go
(17.09 KB)
📄
types.go
(2.79 KB)
📄
types_plan9.go
(797 B)
📄
types_unix.go
(776 B)
📄
types_windows.go
(10.01 KB)
📁
user
📄
wait6_dragonfly.go
(496 B)
📄
wait6_freebsd64.go
(547 B)
📄
wait6_freebsd_386.go
(544 B)
📄
wait6_freebsd_arm.go
(549 B)
📄
wait6_netbsd.go
(534 B)
📄
wait_unimp.go
(831 B)
📄
wait_wait6.go
(781 B)
📄
wait_waitid.go
(1.32 KB)
📄
writeto_linux_test.go
(4.21 KB)
📄
zero_copy_linux.go
(4.38 KB)
📄
zero_copy_stub.go
(406 B)
Editing: example_test.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 ( "bytes" "errors" "fmt" "io/fs" "log" "os" "path/filepath" "sync" "time" ) func ExampleOpenFile() { f, err := os.OpenFile("notes.txt", os.O_RDWR|os.O_CREATE, 0644) 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 { f.Close() // ignore error; Write error takes precedence 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) } fmt.Printf("permissions: %#o\n", fi.Mode().Perm()) // 0400, 0777, etc. switch mode := fi.Mode(); { case mode.IsRegular(): fmt.Println("regular file") case mode.IsDir(): fmt.Println("directory") case mode&fs.ModeSymlink != 0: fmt.Println("symbolic link") case mode&fs.ModeNamedPipe != 0: fmt.Println("named pipe") } } func ExampleErrNotExist() { filename := "a-nonexistent-file" if _, err := os.Stat(filename); errors.Is(err, fs.ErrNotExist) { fmt.Println("file does not exist") } // Output: // file does not exist } func ExampleExpand() { mapper := func(placeholderName string) string { switch placeholderName { case "DAY_PART": return "morning" case "NAME": return "Gopher" } return "" } fmt.Println(os.Expand("Good ${DAY_PART}, $NAME!", mapper)) // Output: // Good morning, Gopher! } func ExampleExpandEnv() { os.Setenv("NAME", "gopher") os.Setenv("BURROW", "/usr/gopher") fmt.Println(os.ExpandEnv("$NAME lives in ${BURROW}.")) // 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) } } os.Setenv("SOME_KEY", "value") os.Setenv("EMPTY_KEY", "") show("SOME_KEY") show("EMPTY_KEY") show("MISSING_KEY") // Output: // SOME_KEY=value // EMPTY_KEY= // MISSING_KEY not set } func ExampleGetenv() { os.Setenv("NAME", "gopher") os.Setenv("BURROW", "/usr/gopher") fmt.Printf("%s lives in %s.\n", os.Getenv("NAME"), os.Getenv("BURROW")) // Output: // gopher lives in /usr/gopher. } func ExampleUnsetenv() { os.Setenv("TMPDIR", "/my/tmp") defer os.Unsetenv("TMPDIR") } func ExampleReadDir() { files, err := os.ReadDir(".") if err != nil { log.Fatal(err) } for _, file := range files { fmt.Println(file.Name()) } } func ExampleMkdirTemp() { dir, err := os.MkdirTemp("", "example") if err != nil { log.Fatal(err) } defer os.RemoveAll(dir) // clean up file := filepath.Join(dir, "tmpfile") if err := os.WriteFile(file, []byte("content"), 0666); err != nil { log.Fatal(err) } } func ExampleMkdirTemp_suffix() { logsDir, err := os.MkdirTemp("", "*-logs") if err != nil { log.Fatal(err) } defer os.RemoveAll(logsDir) // clean up // Logs can be cleaned out earlier if needed by searching // for all directories whose suffix ends in *-logs. globPattern := filepath.Join(os.TempDir(), "*-logs") matches, err := filepath.Glob(globPattern) if err != nil { log.Fatalf("Failed to match %q: %v", globPattern, err) } for _, match := range matches { if err := os.RemoveAll(match); err != nil { log.Printf("Failed to remove %q: %v", match, err) } } } func ExampleCreateTemp() { f, err := os.CreateTemp("", "example") if err != nil { log.Fatal(err) } defer os.Remove(f.Name()) // clean up if _, err := f.Write([]byte("content")); err != nil { log.Fatal(err) } if err := f.Close(); err != nil { log.Fatal(err) } } func ExampleCreateTemp_suffix() { f, err := os.CreateTemp("", "example.*.txt") if err != nil { log.Fatal(err) } defer os.Remove(f.Name()) // clean up if _, err := f.Write([]byte("content")); err != nil { f.Close() log.Fatal(err) } if err := f.Close(); err != nil { log.Fatal(err) } } func ExampleReadFile() { data, err := os.ReadFile("testdata/hello") if err != nil { log.Fatal(err) } os.Stdout.Write(data) // Output: // Hello, Gophers! } func ExampleWriteFile() { err := os.WriteFile("testdata/hello", []byte("Hello, Gophers!"), 0666) if err != nil { log.Fatal(err) } } func ExampleMkdir() { err := os.Mkdir("testdir", 0750) if err != nil && !os.IsExist(err) { log.Fatal(err) } err = os.WriteFile("testdir/testfile.txt", []byte("Hello, Gophers!"), 0660) if err != nil { log.Fatal(err) } } func ExampleMkdirAll() { err := os.MkdirAll("test/subdir", 0750) if err != nil { log.Fatal(err) } err = os.WriteFile("test/subdir/testfile.txt", []byte("Hello, Gophers!"), 0660) if err != nil { log.Fatal(err) } } func ExampleReadlink() { // First, we create a relative symlink to a file. d, err := os.MkdirTemp("", "") if err != nil { log.Fatal(err) } defer os.RemoveAll(d) targetPath := filepath.Join(d, "hello.txt") if err := os.WriteFile(targetPath, []byte("Hello, Gophers!"), 0644); err != nil { log.Fatal(err) } linkPath := filepath.Join(d, "hello.link") if err := os.Symlink("hello.txt", filepath.Join(d, "hello.link")); err != nil { if errors.Is(err, errors.ErrUnsupported) { // Allow the example to run on platforms that do not support symbolic links. fmt.Printf("%s links to %s\n", filepath.Base(linkPath), "hello.txt") return } log.Fatal(err) } // Readlink returns the relative path as passed to os.Symlink. dst, err := os.Readlink(linkPath) if err != nil { log.Fatal(err) } fmt.Printf("%s links to %s\n", filepath.Base(linkPath), dst) var dstAbs string if filepath.IsAbs(dst) { dstAbs = dst } else { // Symlink targets are relative to the directory containing the link. dstAbs = filepath.Join(filepath.Dir(linkPath), dst) } // Check that the target is correct by comparing it with os.Stat // on the original target path. dstInfo, err := os.Stat(dstAbs) if err != nil { log.Fatal(err) } targetInfo, err := os.Stat(targetPath) if err != nil { log.Fatal(err) } if !os.SameFile(dstInfo, targetInfo) { log.Fatalf("link destination (%s) is not the same file as %s", dstAbs, targetPath) } // Output: // hello.link links to hello.txt } func ExampleUserCacheDir() { dir, dirErr := os.UserCacheDir() if dirErr == nil { dir = filepath.Join(dir, "ExampleUserCacheDir") } getCache := func(name string) ([]byte, error) { if dirErr != nil { return nil, &os.PathError{Op: "getCache", Path: name, Err: os.ErrNotExist} } return os.ReadFile(filepath.Join(dir, name)) } var mkdirOnce sync.Once putCache := func(name string, b []byte) error { if dirErr != nil { return &os.PathError{Op: "putCache", Path: name, Err: dirErr} } mkdirOnce.Do(func() { if err := os.MkdirAll(dir, 0700); err != nil { log.Printf("can't create user cache dir: %v", err) } }) return os.WriteFile(filepath.Join(dir, name), b, 0600) } // Read and store cached data. // … _ = getCache _ = putCache // Output: } func ExampleUserConfigDir() { dir, dirErr := os.UserConfigDir() var ( configPath string origConfig []byte ) if dirErr == nil { configPath = filepath.Join(dir, "ExampleUserConfigDir", "example.conf") var err error origConfig, err = os.ReadFile(configPath) if err != nil && !os.IsNotExist(err) { // The user has a config file but we couldn't read it. // Report the error instead of ignoring their configuration. log.Fatal(err) } } // Use and perhaps make changes to the config. config := bytes.Clone(origConfig) // … // Save changes. if !bytes.Equal(config, origConfig) { if configPath == "" { log.Printf("not saving config changes: %v", dirErr) } else { err := os.MkdirAll(filepath.Dir(configPath), 0700) if err == nil { err = os.WriteFile(configPath, config, 0600) } if err != nil { log.Printf("error saving config changes: %v", err) } } } // Output: }
Upload File
Create Folder