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 6 (Paketler)

Strings

Strings paketi ile string türünde değerler üzerinde işlemler yapabiliriz. Kısaca kullanımlarından bahsedelim.

Strings.Contains() Fonksiyonu Contains() fonksiyonu ile istediğimiz bir string değerin içerisinde istediğimiz bir string değerin olup olmadığını kontrol edebiliriz. Boolean değer verir. Eğer varsa true değer döndürür. Yoksa false değer döndürür. Ufak bir uygulama örneği yapalım.

package main
import (
 "fmt"
 "strings"
)
func main() {
 var eposta string
 fmt.Print("E-posta adresinizi giriniz: ")
 fmt.Scan(&eposta)
 if strings.Contains(eposta, "@") {
  fmt.Println("E-posta Adresiniz Onaylandı!")
 } else {
  fmt.Println("Geçerli Bir E-posta Adresi Giriniz!")
 }
}

”strings” paketini eklemeyi unutmuyoruz. Bu kodlar ile kullanıcıdan e-posta adresi isteyen ve e-posta adresi içinde @ işareti var ise olumlu yanıt veren bir programcık oluşturduk. Constains() fonksiyonunu açıklayacak olursak, Contains fonksiyonunun ilk parametresine kontrol edeceğimiz öğeyi giriyoruz. İkinci parametreye ise aranılacak string ifademizi giriyoruz. Gayet anlaşılır olduğunu düşünüyorum. Strings.Count() Fonksiyonu Count() fonksiyonu ile bir string değerin içinde istediğimiz bir string değerin kaç tane olduğunu öğrenebiliriz. Örneğimize geçelim.

package main
import (
 "fmt"
 "strings"
)
func main() {
 fmt.Println(strings.Count("deneme", "e"))
}

”strings” paketini eklemeyi unutmuyoruz. Bu kodlar ile Count() fonksiyonunda “deneme” stringi içerisinde “e” stringinin kaç tane geçtiğini öğreniyoruz. Çıktımız 3 olacaktır. Strings.Index() Fonksiyonu Index() fonksiyonu ile bir string değerin içindeki istediğimiz bir string değerin kaçıncı sırada yani index’te olduğunu öğrenebiliriz.Sıra sıfırdan başlar. Örneğimize geçelim.

package main
import (
 "fmt"
 "strings"
)
func main() {
 fmt.Println(strings.Index("Merhaba Dünya", "h"))
}

Çıktımız h harfi 0’dan başlayarak 3. sırada olduğu için, 3 olacaktır. Strings.LastIndex() Fonksiyonu LastIndex() fonksiyonu ile bir string değerin içinde istediğimiz bir string değerin sırasını Index() fonksiyonunun tersine sağdan sola doğru kontrol eder. İlk çıkan sonucun index’ini seçer. Örnek:

fmt.Println(strings.LastIndex("Merhaba Dünya", "a"))

”Merhaba Dünya” yazısının içinde “a” harfini aradık. LastIndex() fonksiyonu sondan başa yani sağdan sola arama yaptığı için sondaki “a” harfini buldu. Yani 13 sonucunu ekrana bastırmış olduk. Strings.Title() Fonksiyonu Title() fonksiyonu ile içerisine küçük harflerle string türünde değer girdiğimizde baş harfleri büyük harf yapan bir fonksiyondur.

fmt.Println(strings.Title("merhaba dünya"))

Çıktımız “Merhaba Dünya” olacaktır. Strings.ToUpper() Fonksiyonu ToUpper() fonksiyonu içerisine girilen string değerin tüm harflerini büyük harf yapar.

fmt.Println(strings.ToUpper("merhaba dünya"))

Çıktımız “MERHABA DÜNYA” olacaktır. Strings.ToLower() Fonksiyonu ToLower() fonksiyonu içerisine girilen string değerin tüm harflerini küçük harf yapar.

fmt.Println(strings.ToLower("Merhaba Dünya"))

Çıktımız “merhaba dünya” olacaktır. Strings.ToUpperSpecial() Fonksiyonu ToUpper() fonksiyonu ile string değeri büyük harf yaptığımız zaman Türkçe karakter sıkıntısı yaşarız. Örnek olarak “i” harfi büyüyünce “I” harfi olur. Bunun önüne ToUpperSpecial() fonksiyonu ile geçebiliriz. Bu fonksiyonun ilk parametresine karakter kodlamasını, ikinci parametresine ise string değerimizi gireriz. Örnek olarak:

fmt.Println(strings.ToUpperSpecial(unicode.TurkishCase, "ıiüöç"))

Çıktımız “IİÜÖÇ” olacaktır. Strings.ToLowerSpecial() Fonksiyonu ToUpperSpecial() fonksiyonu ile aynı seçilde çalışır ;fakat harfleri belirlediğiniz karakter kodlamasına göre küçültür. Örnek kullanımı:

fmt.Println(strings.ToLowerSpecial(unicode.TurkishCase, "IİÜÖÇ"))

Çıktımız “ıiüöç” olacaktır.

PreviousPanic & RecoverNextos/exec (Komut Satırına Erişim)

Last updated 5 years ago

Was this helpful?