Как использовать пакет os для работы с операционной системой в Golang?

Пользователь

от keyon.brown , в категории: Golang , год назад

Как использовать пакет os для работы с операционной системой в Golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от shirley.vonrueden , год назад

@keyon.brown 

Пакет os в Go предоставляет функционал для работы с операционной системой, таким образом, позволяя вам управлять файловой системой, переменными среды, процессами и другими операционными задачами. Вот некоторые основные примеры использования пакета os:

  1. Получение информации о текущей операционной системе:
 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. Создание директории:
 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. Проверка существования файла:
 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. Чтение и запись файла:
 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. Запуск другой программы:
 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. Вы можете использовать его для множества других задач, связанных с операционной системой.