Go Programlama Dili
  • KİTAP HAKKINDA
    • GİRİŞ
    • Katkıda Bulunanlar
  • BÖLÜM 1 (Ön Eğitim)
    • Golang Hakkında
    • Sıkça Sorulan Sorular
    • Go Derleyicisi Kurulumu
    • VSCode Go Eklentisi Yükleme
    • Go Projesi Oluşturma
    • Merhaba Dünya
    • VSCode Varsayılan Hata Ayıklayıcıyı Seçme
    • Farklı Platformlara Build (İnşa) Etme
    • Klasör Build Etme
    • Paketler
    • Yorum Satırı
    • Veri Tipleri
    • Aritmetik Operatörler
    • İlişkisel Operatörler
    • Mantıksal Operatörler
    • Atama Operatörleri
    • Değişkenler ve Atanması
    • Sabitler
    • Kod Gruplama İşlemi
    • Tür Dönüşümü
    • Bölüm 1 Sınav
  • BÖLÜM 2 (İşlem Yapma)
    • Fonksiyonlar
    • Fonksiyon Çeşitleri
    • Anonim Fonksiyonlar
    • Boş Tanımlayıcılar
    • Döngüler
    • If-Else
    • Switch
    • Defer
    • Pointers (İşaretçiler)
    • Bölüm 2 Sınav
  • BÖLÜM 3 (Gruplama)
    • Struct
    • Anonim Struct'lar
    • Struct Fonksiyonlar (Methodlar)
    • Diziler (Arrays)
    • Dilimler (Slices)
    • Range
    • Map
    • Interface
    • Dinamik Değişkenler
    • Generics
  • BÖLÜM 4 (Eş zamanlılık)
    • Goroutine
    • Kanallar (Channels)
    • Anonim Goroutine Fonksiyonlar
    • WaitGroup ile Asenkron İşlemleri Beklemek
    • Mutex ile Asenkron İşlem Sırası
    • Zamanlayıcılar (Tickers)
    • Select
  • BÖLÜM 5
    • init() Fonksiyonu (Ön Yükleme)
    • Import (Kütüphane Ekleme) Yöntemleri
    • Dışa Aktarma (Exporting)
    • Print Fonksiyonu Birkaç İnceleme
    • Format ve Kaçış Karakterleri
    • Çok Satırlı String Oluşturma
    • Sprintf
    • Golang'te Kullanıcıdan Giriş Alma
    • Testing (Test Etme)
    • Panic & Recover
  • BÖLÜM 6 (Paketler)
    • Strings
    • os/exec (Komut Satırına Erişim)
    • Komut Satırı Argümanları (Args)
    • Komut Satırı Bayrakları (Flags)
    • os/signal
    • Sort (Sıralama)
    • Strconv (String Çeviri)
    • Log (Kayıt)
    • Paket (Kütüphane) Yazmak
    • Regexp (Kurallı İfadeler)
  • BÖLÜM 7 (Dosya İşlemleri)
    • Çapraz Platform Dosya Yolları
    • İşletim Sistemini Görme
    • Dosya Varlığı Kontrolü
    • ioutil ile Dosya Okuma ve Yazma
    • Bir Dizindeki Dosya ve Klasörleri Sıralama
    • XML Parsing (Ayrıştırma)
    • JSON Parsing (Ayrıştırma)
      • Dinamik JSON Parsing Yöntemleri
    • ini Dosyası Okuma ve Düzenleme
    • Web Scrapper (goquery)
    • chromedp (Web Driver)
  • VERİTABANI
    • sqlite3
    • MySQL
    • MongoDB
    • GORM
  • Web Sunucu (Server), Ağ İşlemleri
    • net/http ile Web Server Oluşturma
    • HTML Şablonlar (Templates)
    • Statik Kütüphanesi ile Dosyaları Uygulamaya Gömme
    • Gin Web Kütüphanesi
      • Gin Dosya Yükleme
    • gRPC
    • Heroku'da Go Uygulaması Yayınlama
    • HTTP İstekleri (Requests)
    • RabbitMQ
      • RabbitMQ Kurulumu
      • Basitçe RabbitMQ Kullanımı
  • GUI (Grafiksel Kullanıcı Arayüzü)
    • WebView
    • notify (Bildirim)
  • Mikro-denetleyiciler
    • Gobot ile Arduino Yanıp-Sönen LED Yapımı
    • Tinygo ile Küçük Yerler için Golang
  • CLI
    • 🐍Cobra CLI
  • ⚙️Yapılandırma
    • 🐍Viper
  • Pratik Bilgiler
    • Go Geliştiricileri için Makefile
    • Derleme (Build) Detayını Görme
    • Visual Studio Code için Golang Özelleştirmeleri
  • 👾PLUS
    • Uber Go Stil Kılavuzu
Powered by GitBook
On this page

Was this helpful?

  1. BÖLÜM 7 (Dosya İşlemleri)

ini Dosyası Okuma ve Düzenleme

ini dosyaları programımızın ayarlarını barındırabileceğimiz dosyalardır. Golang’de ini dosyalarını paket ekleyerek yapabiliriz. Paketimizi indirmek için aşağıdaki komutu yazıyoruz.

go get gopkg.in/ini.v1

Paketimizi indirdikten sonra ini dosyamız üzerinde işlemler yapabiliriz. Aşağıdaki örneklerde kullanacağımız ini dosyası bu şekildedir. Dosyamızın ismi ayarlar.ini olsun.

# Yorum satırımız
uygulama_modu = geliştirme
[dizinler]
veri = ./dosyalar
[sunucu]
protokol = http
port = 8000

Ini Dosyası Okuma

Dosya okuma işlemimiz dizin mantığında çalışır. Örneğimizi görelim.

package main
import (
	"fmt"
	"gopkg.in/ini.v1"
)
func kontrol(e error) {
	if e != nil {
		panic(e)
	}
}
func main() {
	veri, err := ini.Load("ayarlar.ini")
	kontrol(err)
	fmt.Println("Uygulama Modu:", veri.Section("").Key("uygulama_modu").String())
	fmt.Println("Veri Dizini:", veri.Section("dizinler").Key("veri").String())
	fmt.Println("Bağlantı Protokolü:", veri.Section("sunucu").Key("protokol").String())
	fmt.Println("Bağlantı Portu:", veri.Section("sunucu").Key("port").MustInt(9999))
}

Çıktımız şu şekilde olacaktır.

Uygulama Modu: geliştirme Veri Dizini: ./dosyalar Bağlantı Protokolü: http Bağlantı Portu: 8000

Inı Dosyası Düzenleme

Yine aynı ayarlar.ini dosyası üzerinde düzenlemeler yapalım. İşte örneğimiz:

package main
import (
	"gopkg.in/ini.v1"
)
func kontrol(e error) {
	if e != nil {
		panic(e)
	}
}
func main() {
	veri, err := ini.Load("ayarlar.ini")
	kontrol(err)
	// Değer atıyoruz.
	veri.Section("").Key("uygulama_modu").SetValue("ürün")
	// ini dosyamızı kaydetmeyi unutmuyoruz.
	veri.SaveTo("ayarlar.ini")
}
PreviousDinamik JSON Parsing YöntemleriNextWeb Scrapper (goquery)

Last updated 5 years ago

Was this helpful?