go201

Ders 22: Go ile Dosya İşlemleri

Bu derste, Go dilinde dosya işlemlerini nasıl gerçekleştirebileceğinizi öğreneceksiniz. Dosya okuma, yazma, silme ve dosya bilgilerini alma gibi temel dosya işlemlerini göreceksiniz.

İçindekiler

  1. Dosya Açma ve Kapama
  2. Dosya Okuma
  3. Dosya Yazma
  4. Dosya Silme
  5. Dosya Bilgilerini Alma

Dosya Açma ve Kapama

Go dilinde bir dosyayı açmak için os paketini kullanabilirsiniz. Dosya açma işlemi sırasında dosyanın var olup olmadığını kontrol etmek ve dosyayı kapatmak önemlidir.

package main

import (
    "fmt"
    "os"
)

func main() {
    file, err := os.Open("example.txt")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer file.Close()
    fmt.Println("Dosya başarıyla açıldı")
}

Dosya Okuma

Bir dosyayı okumanın birkaç yolu vardır. En yaygın yöntemlerden biri bufio paketini kullanmaktır.

package main

import (
    "bufio"
    "fmt"
    "os"
)

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

    scanner := bufio.NewScanner(file)
    for scanner.Scan() {
        fmt.Println(scanner.Text())
    }

    if err := scanner.Err(); err != nil {
        fmt.Println(err)
    }
}

Dosya Yazma

Dosyaya yazmak için os paketindeki Create veya OpenFile fonksiyonlarını kullanabilirsiniz.

package main

import (
    "fmt"
    "os"
)

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

    _, err = file.WriteString("Merhaba, Dünya!\n")
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println("Dosyaya yazma işlemi başarılı")
}

Dosya Silme

Bir dosyayı silmek için os.Remove fonksiyonunu kullanabilirsiniz.

package main

import (
    "fmt"
    "os"
)

func main() {
    err := os.Remove("example.txt")
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println("Dosya başarıyla silindi")
}

Dosya Bilgilerini Alma

Bir dosyanın bilgilerini almak için os.Stat fonksiyonunu kullanabilirsiniz.

package main

import (
    "fmt"
    "os"
)

func main() {
    fileInfo, err := os.Stat("example.txt")
    if err != nil {
        fmt.Println(err)
        return
    }

    fmt.Println("Dosya Adı:", fileInfo.Name())
    fmt.Println("Dosya Boyutu:", fileInfo.Size())
    fmt.Println("Dosya Modu:", fileInfo.Mode())
    fmt.Println("Son Değiştirilme Tarihi:", fileInfo.ModTime())
    fmt.Println("Bir Dizin mi?:", fileInfo.IsDir())
}

Bu dersin sonunda, Go dilinde dosya işlemlerini nasıl gerçekleştirebileceğinizi öğrenmiş olacaksınız. Bu temel bilgiler, dosya tabanlı uygulamalar geliştirirken size yardımcı olacaktır.

# Ders 23: Go’da Clean Architecture