@keyon.brown
Пакет os в Go предоставляет функционал для работы с операционной системой, таким образом, позволяя вам управлять файловой системой, переменными среды, процессами и другими операционными задачами. Вот некоторые основные примеры использования пакета os:
- Получение информации о текущей операционной системе:
1
2
3
4
5
6
7
8
9
10
11
12
|
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println("Operating system:", os.Getenv("OS"))
fmt.Println("Architecture:", os.Getenv("PROCESSOR_ARCHITECTURE"))
fmt.Println("Number of CPUs:", runtime.NumCPU())
}
|
- Создание директории:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
package main
import (
"fmt"
"os"
)
func main() {
err := os.Mkdir("newdir", 0755)
if err != nil {
fmt.Println(err)
}
}
|
- Проверка существования файла:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
package main
import (
"fmt"
"os"
)
func main() {
_, err := os.Stat("filename.txt")
if os.IsNotExist(err) {
fmt.Println("File does not exist")
} else {
fmt.Println("File exists")
}
}
|
- Чтение и запись файла:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
package main
import (
"fmt"
"io/ioutil"
"os"
)
func main() {
// Чтение файла
content, err := ioutil.ReadFile("filename.txt")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
fmt.Println("File contents:")
fmt.Println(string(content))
// Запись в файл
content = []byte("Hello, world!")
err = ioutil.WriteFile("newfile.txt", content, 0644)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
fmt.Println("File written")
}
|
- Запуск другой программы:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
package main
import (
"fmt"
"os/exec"
)
func main() {
cmd := exec.Command("ls", "-la")
output, err := cmd.Output()
if err != nil {
fmt.Println(err)
}
fmt.Println(string(output))
}
|
Это лишь несколько примеров использования пакета os. Вы можете использовать его для множества других задач, связанных с операционной системой.