BLOG BLOG

Tag: Go
Programlama Dilleri Karşılaştırması

Bu öyle her zamanki gibi dillerin karşılaştırıldığı o, hız ve özellik karşılaştırması değil.
Bu syntax’da belirli ifadeler üzerine bir karşılaştırma. İşinize yarar diye buraya bunu iliştireyim.

Golang asal sayı çözümlemeleri

Her zaman iş için kod yazmak insanı daraltır. Bazen sınırlarınız zorlayıp keyifli keyifli düşünmek istersiniz. İşte öyle anlarımdan birinde golang ile asal sayı bulma algoritmaları neler olabilir diye düşünürken…

Golang Post Gönderme url-encoded

Programlama ile uğraşırken yolunuz illaki birgün api‘lar ile çakışacaktır. Hele bunlardan REST ile içli dışlı olacaksanız aşağıdaki kod tam size göre.

Lazım olacak dursun buralarda bi yerlerde.

Go Programının Kapanması

Başlık biraz anlamsız oldu ama daha anlamlısını bulamadım, bulursanız ve bana yazarsanız sevinirim. Go programı çalışsın ama siz istemediğiniz sürece kapanmasın istiyorsunuz. Normal şartlarda program main fonksiyonundaki işini bitirince sonlanır veya siz oraya bir timer koyarsanız bekler. Ama timer‘da bi yerde sonlanacak. Hele birde goroutine kullanmışsanız sadece…

Go İşlem Süresi Hesaplama

Programlarda gerekli olan işlemlerden biri de süreyi hesaplamaktır. Hangi aşamada ne kadar zaman geçmektedir ve o zamana bağlı olarak gerekirse algoritmanızı değiştirmeniz gerekebilmektedir.

Go Pointer

Bugüne kadar hep değişkenler oluşturduk ve onların değerlerini değiştirerek programlar yazdık. Yani yazdığımız kod belleğe hunharca yüklendi.

Her oluşturduğumuz değişken bellekte yeni bir birimi işgal etti ve biz o işgal sonucunda değişkenimizi istediğimiz zaman kullandık.

Go Json Data Struct Çözümleme

Go da sabah akşam haşır neşir olduğunuz struct ları json ile çözümlemeniz gerektiğinde buradaki kodlar yaranıza derman olur.

Go Json Data Map Çözümleme

JSON‘lar artık çok yaygın olarak kullanılan bir yapı. XML ve benzeri bütün yapıların yerine geçmek üzere. Özellikle de MongoDB gibi döküman tabanlı database’lerinde JSON  formatı yapıları kullanması aynı zamanda artık programlama dillerininde struct yapılarını classlara oranla öncelikli tercih etmeleri bu fitili ateşledi.

İşte elimizde Json bir verimiz var ve biz bunu çözüp değerlerine erişmek istiyoruz diyelim;

Go Struct Json Formatı

Burada json u uzun uzadıya anlatmaya gerek yok. Onu başka bir yazı da ele alacağım. Go da json formatlama işlemlerine ve hele birde bunu struct lar ile yapmamız gerekirse;

Go Map Json Formatı

Map i yazdımak istediğimizde

https://play.golang.org/p/eKGfZMPZ-V

Çıktısı ;

bu şekilde olacaktır.

Bu map den json formatında çıktı almak istediğimizde ;

ilk önce encoding/json library sini import ediyoruz.

Ve bu kodun çıktısı da;

 

https://play.golang.org/p/tNC0N8hz1x

 

Go Strings Join Fonksiyonu

Join fonksiyonu karakter eklemek için kullanılır. “ali” ve “erbey” den oluşan bir k dizisi elemanları arasına – işareti koymak istersek join fonksiyonunu kullanıyoruz.

Çıktısı ;

https://play.golang.org/p/c-hkK99paP

Go Strings Repeat Fonksiyonu

Repeat fonksiyonu tekrar için kullanılır. Bu fonksiyon bugüne kadar işime yaramadı, ama ne olur olmaz lazım olur.

Çıktısı;

https://play.golang.org/p/sIOqDtIFnn

Go Strings ToUpper ToLower Fonksiyonları

Çok söze gerek var mı ?  ToUpper Karakterleri büyültür ToLower küçültür. Çıktısı da;

https://play.golang.org/p/trRqTF96q5

Go Strings HasSuffix Fonksiyonu

Suffix son ek demek ve bu fonksiyonumuzda string in sonunu bizim verdiğimiz string ile karşılaştırır ve true ya da false olarak döner.

Bu kod da ilk karşılaştırmada string bey ile bittiği için true dönecek ve ikinci kod da er ile bitmediği için false dönecektir.

https://play.golang.org/p/jVtk-5k8oL

Go Strings HasPrefix Fonksiyonu

Biliyorsunu ki prefix ön ek demek. HasPrefix fonksiyonu da bizim string imiz belirttiğimiz karakterlerle başlıyor mu ona bakıyor.

Bu kodda alierbey’i ilk kontrol ettiğimizde ali karakteri ile başladığı için true dönecek

Sonraki kodda bey ile başlamadığı için false dönecektir.

https://play.golang.org/p/YIUOVnxuTA

Go Strings Index Fonksiyonu

Index fonksiyonu aradığımız karakterin index numarasını verir. Bu kodun çıktısını ilk önce yazayım ;

Gördüğünüz gibi e karakterinin index numarası 3 ve a karakterinin index numarası 0 dır. Programlama da her zaman index ler 0 dan başlar. Bu dizilerde böyledir.

0   1    2     3       4     5     6     7

a   l     i     e       r      b      e      y

 

https://play.golang.org/p/oibh5k2KtZ

Go Strings Replace Fonksiyonu

Replace fonskiyonu adından da anlaşılacağı üzerine yer değiştirme işlemi yapar. Burada “alierbey” string i içinde “e” karakterini “o” ile değiştireceğimizi belirtiyoruz.

En sondaki 1 ve -1 ise şu anlama geliyor.

Eğer 1 yazarsanız ilk karakteri değiştirir ve bırakır. Yani ilk çıktı;

olacaktır.

Eğer -1 yazarsanız bulduğu bütün karakterleri istediğiniz e karakteri ile değiştirir. Bunun çıktısı;

olacaktır.

https://play.golang.org/p/KR7O34PYs9

Go Strings Count Fonksiyonu

Strings Count fonksiyonu aradığımız karakterin kaç tane olduğunu döner. Yukarıda alierbey string inin içinde a karakteri arıyoruz ve bize 1 tane olduğu için 1 dönüyor,  e karakterini aradığımızda 2 tane olduğunu dönüyor.

https://play.golang.org/p/qaPD84jYMS

Go Strings Contains Fonksiyonu

Şimdi contains fonksiyonu, elimizdeki bir string, aradığımız bir string i içeriyor mu içermiyor mu bunu boolean olarak döner. Yukardaki kod da string imizi alierbey ve bu string sizde görüyorsunuz ki “bey” string ini içerdiği için k bize true olarak döner.

Ama usak ifadesini içermediği için false olarak döner.

bu kodun çıktısı da aynen bu şekildedir.

Aşağıdaki linkten çalıştırabilirsiniz.

https://play.golang.org/p/8Pci5wB_z4

 

Go Strings Split Fonksiyonu

Go da elimizdeki bir text i ayırmak split etmek istiyorsak öncelikle import “strings ” diyerek o library i projemize dahil ediyoruz.

daha sonra text imiz hangi karakterlerden ayıracaksak onu belirtiyoruz. Bu kod da text imizi boşluk karakterlerinden ayırdım ve bana Split fonksiyonu bir dizi döndü.

 

daha dizi elemanlarını nasıl kullanıyorsam text i o şekilde kullanabilirim. Bu kod un nasıl çalıştığının aşağıdaki linkten çalıştırabilirsiniz.

https://play.golang.org/p/r10VjwrMeb

Go Çalışan Dosyanın Yolunu Öğrenme

Programınızın çalıştığı klasörde bir dosya ile çalışmak istiyorsanız programınızın çalıştığı yol çoğu zaman gerekli olmuştur döyle durumlar için aşağıdaki kod çalıştığınız klasörü verir.

bu fonksiyonu çalıştırdığınız zaman return olarak çalıştığınız dizini alırsınız.

Go Dönüşümler

Program yazmaya başladıktan bir süre sonra bir bakarsınız integer bir değeri ekrana basmak için string’e dönüştürmek yada json’dan aldığınız string bir değeri integer’a dönüştürmek zorunda kalabilirsiniz.

Bu ve benzeri convert işlemleri bir dil’e hakimiyet’in başlangıcıdır diyebiliriz.

Her seferinde GoPath mi ayarlayacağım

Hayır tabiki!

Bash profile da default olarak tanımlayabilirsiniz. Tanımladıktan sonra huzura erersiniz.

Go mu Node.js mi ?

Backend tarafında Rest Api yazmamız gerektiğinde bizi bekleyen kaos…

Acaba hangisini tercih etmeliyim ?