Функция os.Create

Функция os.Create создает новый файл с указанным именем. Если файл уже существует, он усекается до нулевой длины. Если файл не существует, он создается с правами доступа 0666 (с учетом umask). Функция возвращает указатель на os.File и ошибку. В качестве единственного параметра функция принимает строку с именем создаваемого файла.

Синтаксис

gofile, err := os.Create(filename)

Пример

Давайте создадим новый файл с именем "example.txt":

gopackage main

import (
  "fmt"
  "os"
)

func main() {
  file, err := os.Create("example.txt")
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  defer file.Close()

  fmt.Println("File created successfully")
}

Результат выполнения кода:

go"File created successfully"

Пример

Давайте запишем данные в созданный файл:

gopackage main

import (
  "fmt"
  "os"
)

func main() {
  file, err := os.Create("data.txt")
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  defer file.Close()

  _, err = file.WriteString("Hello, World!")
  if err != nil {
    fmt.Println("Error:", err)
    return
  }

  fmt.Println("Data written successfully")
}

Результат выполнения кода:

go"Data written successfully"

Пример

Давайте создадим файл и проверим его наличие:

gopackage main

import (
  "fmt"
  "os"
)

func main() {
  filename := "test.txt"
  file, err := os.Create(filename)
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  file.Close()

  info, err := os.Stat(filename)
  if err != nil {
    fmt.Println("Error:", err)
    return
  }

  fmt.Println("File size:", info.Size())
}

Результат выполнения кода:

go"File size: 0"

Смотрите также

  • функцию os.Open,
    которая открывает существующий файл для чтения
  • функцию os.OpenFile,
    которая открывает файл с указанными флагами и правами
  • функцию os.CreateTemp,
    которая создает временный файл в указанной директории
  • функцию os.WriteFile,
    которая записывает данные в файл за один вызов