{"id":35304,"date":"2025-11-28T03:41:23","date_gmt":"2025-11-28T00:41:23","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=35304"},"modified":"2025-11-28T03:41:23","modified_gmt":"2025-11-28T00:41:23","slug":"go-ile-ilk-programinizi-yazmaya-baslarken","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/","title":{"rendered":"Go ile \u0130lk Program\u0131n\u0131z\u0131 Yazmaya Ba\u015flarken"},"content":{"rendered":"<p><body><\/p>\n<h2>Go ile \u0130lk Program\u0131n\u0131z\u0131 Yazmaya Ba\u015flarken<\/h2>\n<p>Go (veya Golang), Google taraf\u0131ndan geli\u015ftirilen, a\u00e7\u0131k kaynakl\u0131, statik tipli ve derlenmi\u015f bir programlama dilidir. \u00d6zellikle y\u00fcksek performansl\u0131 a\u011f servisleri, mikroservisler, komut sat\u0131r\u0131 ara\u00e7lar\u0131 ve da\u011f\u0131t\u0131k sistemler geli\u015ftirmek i\u00e7in tasarlanm\u0131\u015ft\u0131r. Basit s\u00f6zdizimi, h\u0131zl\u0131 derleme s\u00fcreleri ve g\u00fc\u00e7l\u00fc e\u015fzamanl\u0131l\u0131k (concurrency) \u00f6zellikleri sayesinde modern yaz\u0131l\u0131m geli\u015ftiricileri aras\u0131nda h\u0131zla pop\u00fclerlik kazanm\u0131\u015ft\u0131r.<\/p>\n<p>Bu rehberde, Go programlama ortam\u0131n\u0131 kurmaktan, ilk &#8220;Merhaba D\u00fcnya!&#8221; program\u0131n\u0131z\u0131 yazmaya ve Go&#8217;nun temel kavramlar\u0131na giri\u015f yapmaya kadar ad\u0131m ad\u0131m ilerleyece\u011fiz. Amac\u0131m\u0131z, Go d\u00fcnyas\u0131na sa\u011flam bir ba\u015flang\u0131\u00e7 yapman\u0131z\u0131 sa\u011flamak ve kendi projelerinizi geli\u015ftirmeye ba\u015flaman\u0131z i\u00e7in gerekli temelleri atmakt\u0131r.<\/p>\n<h3>Go Ortam\u0131n\u0131z\u0131 Kurmak<\/h3>\n<p>Go ile program yazmaya ba\u015flamadan \u00f6nce, bilgisayar\u0131n\u0131za Go derleyicisini ve ilgili ara\u00e7lar\u0131 kurman\u0131z gerekir. Bu s\u00fcre\u00e7 olduk\u00e7a basittir ve genellikle birka\u00e7 dakika i\u00e7inde tamamlan\u0131r.<\/p>\n<h4>Go \u0130ndirme ve Kurulumu<\/h4>\n<p>1.  <strong>Go Resmi Web Sitesini Ziyaret Edin:<\/strong> En g\u00fcncel Go s\u00fcr\u00fcm\u00fcn\u00fc indirmek i\u00e7in <code>https:\/\/go.dev\/dl\/<\/code> adresine gidin.<br \/>\n2.  <strong>\u0130\u015fletim Sisteminize Uygun S\u00fcr\u00fcm\u00fc Se\u00e7in:<\/strong> Windows, macOS veya Linux kullan\u0131yor olun, sitenizde i\u015fletim sisteminize uygun bir y\u00fckleyici veya ar\u015fiv dosyas\u0131 bulacaks\u0131n\u0131z.<br \/>\n    *   <strong>Windows:<\/strong> <code>.msi<\/code> y\u00fckleyicisini indirin ve \u00e7al\u0131\u015ft\u0131r\u0131n. Kurulum sihirbaz\u0131n\u0131 takip edin. Go, varsay\u0131lan olarak <code>C:\\Program Files\\Go<\/code> dizinine kurulacakt\u0131r ve PATH ortam de\u011fi\u015fkeninizi otomatik olarak g\u00fcncelleyecektir.<br \/>\n    *   <strong>macOS:<\/strong> <code>.pkg<\/code> y\u00fckleyicisini indirin ve \u00e7al\u0131\u015ft\u0131r\u0131n. Kurulum sihirbaz\u0131n\u0131 takip edin. Go, varsay\u0131lan olarak <code>\/usr\/local\/go<\/code> dizinine kurulacakt\u0131r.<br \/>\n    *   <strong>Linux:<\/strong> <code>.tar.gz<\/code> ar\u015fiv dosyas\u0131n\u0131 indirin. \u0130ndirdi\u011finiz dosyay\u0131 <code>\/usr\/local<\/code> dizinine \u00e7\u0131karman\u0131z \u00f6nerilir. \u00d6rne\u011fin:<\/p>\n<pre><code>\n        sudo rm -rf \/usr\/local\/go\n        sudo tar -C \/usr\/local -xzf go1.22.1.linux-amd64.tar.gz\n        <\/code><\/pre>\n<p>        (Yukar\u0131daki komutta <code>go1.22.1.linux-amd64.tar.gz<\/code> k\u0131sm\u0131n\u0131 indirdi\u011finiz dosyan\u0131n ad\u0131yla de\u011fi\u015ftirmeyi unutmay\u0131n.)<br \/>\n        Ard\u0131ndan, Go&#8217;nun <code>bin<\/code> dizinini PATH ortam de\u011fi\u015fkeninize eklemeniz gerekir. Bunun i\u00e7in <code>~\/.profile<\/code> veya <code>~\/.bashrc<\/code> dosyan\u0131za a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin:<\/p>\n<pre><code>\n        export PATH=$PATH:\/usr\/local\/go\/bin\n        <\/code><\/pre>\n<p>        De\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in terminali yeniden ba\u015flat\u0131n veya <code>source ~\/.profile<\/code> (veya <code>source ~\/.bashrc<\/code>) komutunu \u00e7al\u0131\u015ft\u0131r\u0131n.<\/p>\n<p>3.  <strong>Kurulumu Do\u011frulay\u0131n:<\/strong> Bir terminal veya komut istemcisi a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code>\n    go version\n    <\/code><\/pre>\n<p>    E\u011fer kurulum ba\u015far\u0131l\u0131ysa, Go s\u00fcr\u00fcm numaras\u0131n\u0131 (\u00f6rne\u011fin, <code>go version go1.22.1 linux\/amd64<\/code>) g\u00f6rmelisiniz.<\/p>\n<h4>Kod Edit\u00f6r\u00fc Se\u00e7imi<\/h4>\n<p>Go ile \u00e7al\u0131\u015fmak i\u00e7in \u00f6zel bir IDE zorunlu de\u011fildir, ancak bir kod edit\u00f6r\u00fc veya IDE kullanmak geli\u015ftirme deneyiminizi b\u00fcy\u00fck \u00f6l\u00e7\u00fcde iyile\u015ftirecektir. \u0130\u015fte baz\u0131 pop\u00fcler se\u00e7enekler:<\/p>\n<p>*   <strong>Visual Studio Code (VS Code):<\/strong> \u00dccretsizdir ve Go eklentisi (Go by Google) sayesinde Go i\u00e7in m\u00fckemmel destek sunar (otomatik tamamlama, hata ay\u0131klama, bi\u00e7imlendirme vb.). Yeni ba\u015flayanlar i\u00e7in \u015fiddetle tavsiye edilir.<br \/>\n*   <strong>GoLand:<\/strong> JetBrains taraf\u0131ndan geli\u015ftirilen \u00fccretli bir IDE&#8217;dir. Go i\u00e7in en kapsaml\u0131 deste\u011fi sunar ve b\u00fcy\u00fck projelerle \u00e7al\u0131\u015fan profesyoneller aras\u0131nda pop\u00fclerdir.<br \/>\n*   <strong>Vim\/Neovim, Emacs, Sublime Text:<\/strong> Deneyimli kullan\u0131c\u0131lar i\u00e7in Go eklentileriyle g\u00fc\u00e7l\u00fc se\u00e7eneklerdir.<\/p>\n<p>Bu rehber i\u00e7in VS Code gibi basit bir metin d\u00fczenleyici yeterli olacakt\u0131r.<\/p>\n<h3>\u0130lk Go Program\u0131n\u0131z: &#8220;Merhaba D\u00fcnya!&#8221;<\/h3>\n<p>Kurulumu tamamlad\u0131\u011f\u0131m\u0131za g\u00f6re, art\u0131k ilk Go program\u0131m\u0131z\u0131 yazmaya haz\u0131r\u0131z. Bu, programlama d\u00fcnyas\u0131n\u0131n klasik ba\u015flang\u0131c\u0131 olan &#8220;Merhaba D\u00fcnya!&#8221; program\u0131 olacak.<\/p>\n<p>1.  <strong>Bir \u00c7al\u0131\u015fma Dizini Olu\u015fturun:<\/strong> Bilgisayar\u0131n\u0131zda yeni bir klas\u00f6r olu\u015fturun. \u00d6rne\u011fin, <code>go_projelerim\/merhaba_dunya<\/code> gibi.<\/p>\n<pre><code>\n    mkdir go_projelerim\n    cd go_projelerim\n    mkdir merhaba_dunya\n    cd merhaba_dunya\n    <\/code><\/pre>\n<p>2.  <strong><code>main.go<\/code> Dosyas\u0131n\u0131 Olu\u015fturun:<\/strong> Se\u00e7ti\u011finiz kod edit\u00f6r\u00fcn\u00fc kullanarak <code>merhaba_dunya<\/code> klas\u00f6r\u00fcn\u00fcn i\u00e7inde <code>main.go<\/code> ad\u0131nda yeni bir dosya olu\u015fturun. Go programlar\u0131 genellikle <code>.go<\/code> uzant\u0131s\u0131yla kaydedilir.<br \/>\n3.  <strong>Kodu Yaz\u0131n:<\/strong> <code>main.go<\/code> dosyas\u0131na a\u015fa\u011f\u0131daki kodu yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code>\n    package main\n\n    import \"fmt\"\n\n    func main() {\n        fmt.Println(\"Merhaba D\u00fcnya!\")\n    }\n    <\/code><\/pre>\n<p>4.  <strong>Program\u0131 \u00c7al\u0131\u015ft\u0131r\u0131n:<\/strong> Terminal veya komut istemcinizi <code>merhaba_dunya<\/code> klas\u00f6r\u00fcn\u00fcn i\u00e7inde a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code>\n    go run main.go\n    <\/code><\/pre>\n<p>    Ekranda &#8220;Merhaba D\u00fcnya!&#8221; \u00e7\u0131kt\u0131s\u0131n\u0131 g\u00f6rmelisiniz. Tebrikler, ilk Go program\u0131n\u0131z\u0131 ba\u015far\u0131yla yazd\u0131n\u0131z ve \u00e7al\u0131\u015ft\u0131rd\u0131n\u0131z!<\/p>\n<h3>Go Kodunu Anlamak<\/h3>\n<p>\u015eimdi yazd\u0131\u011f\u0131m\u0131z &#8220;Merhaba D\u00fcnya!&#8221; program\u0131n\u0131n her bir sat\u0131r\u0131n\u0131n ne anlama geldi\u011fini inceleyelim. Go&#8217;nun temel yap\u0131 ta\u015flar\u0131n\u0131 anlamak, daha karma\u015f\u0131k programlar yazmak i\u00e7in \u00f6nemlidir.<\/p>\n<pre><code>\npackage main\n\nimport \"fmt\"\n\nfunc main() {\n    fmt.Println(\"Merhaba D\u00fcnya!\")\n}\n<\/code><\/pre>\n<p>*   <code>package main<\/code><br \/>\n    *   Her Go program\u0131 bir <code>package<\/code> bildirimiyle ba\u015flar. <code>package<\/code> bir kod koleksiyonudur ve ilgili fonksiyonlar\u0131, tipleri ve de\u011fi\u015fkenleri bir araya getirir.<br \/>\n    *   <code>main<\/code> paketi \u00f6zel bir pakettir. Bir program\u0131n \u00e7al\u0131\u015ft\u0131r\u0131labilir olmas\u0131 i\u00e7in bu pakette tan\u0131mlanmas\u0131 gerekir. Bu, program\u0131n\u0131z\u0131n bir y\u00fcr\u00fct\u00fclebilir dosya (executable) olarak derlenece\u011fi anlam\u0131na gelir.<br \/>\n    *   Go&#8217;da ayr\u0131ca k\u00fct\u00fcphane olarak kullan\u0131labilecek ba\u015fka paketler de olu\u015fturabilirsiniz (\u00f6rne\u011fin, <code>package mylibrary<\/code>).<\/p>\n<p>*   <code>import \"fmt\"<\/code><br \/>\n    *   <code>import<\/code> anahtar kelimesi, program\u0131n\u0131zda kullanmak istedi\u011finiz ba\u015fka paketleri dahil etmenizi sa\u011flar.<br \/>\n    *   <code>fmt<\/code> (format) paketi, bi\u00e7imlendirilmi\u015f giri\u015f ve \u00e7\u0131k\u0131\u015f i\u015flemleri i\u00e7in fonksiyonlar sa\u011flar. \u00d6rne\u011fin, metin yazd\u0131rmak (<code>Println<\/code>), metin okumak (<code>Scanln<\/code>) gibi i\u015flemler i\u00e7in kullan\u0131l\u0131r.<br \/>\n    *   E\u011fer bir paketi <code>import<\/code> eder ama kullanmazsan\u0131z, Go derleyicisi hata verir. Bu, gereksiz ba\u011f\u0131ml\u0131l\u0131klar\u0131 \u00f6nlemeye yard\u0131mc\u0131 olan Go&#8217;nun kat\u0131 kurallar\u0131ndan biridir.<\/p>\n<p>*   <code>func main() { ... }<\/code><br \/>\n    *   <code>func<\/code> anahtar kelimesi bir fonksiyon tan\u0131mlar.<br \/>\n    *   <code>main<\/code> fonksiyonu \u00f6zel bir fonksiyondur. Bir <code>main<\/code> paketindeki <code>main<\/code> fonksiyonu, program\u0131n y\u00fcr\u00fct\u00fclmeye ba\u015flad\u0131\u011f\u0131 giri\u015f noktas\u0131d\u0131r. Program\u0131n\u0131z\u0131 \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, Go derleyicisi \u00f6nce <code>main<\/code> fonksiyonunu arar ve buradaki kodlar\u0131 y\u00fcr\u00fctmeye ba\u015flar.<br \/>\n    *   Parantezler <code>()<\/code> fonksiyonun parametre al\u0131p almad\u0131\u011f\u0131n\u0131 belirtir. <code>main<\/code> fonksiyonu genellikle parametre almaz.<br \/>\n    *   K\u00fcme parantezleri <code>{}<\/code> fonksiyonun kod blo\u011funu tan\u0131mlar.<\/p>\n<p>*   <code>fmt.Println(\"Merhaba D\u00fcnya!\")<\/code><br \/>\n    *   Bu sat\u0131r, <code>fmt<\/code> paketindeki <code>Println<\/code> (Print Line) fonksiyonunu \u00e7a\u011f\u0131r\u0131r.<br \/>\n    *   <code>Println<\/code> fonksiyonu, kendisine verilen metni (bu \u00f6rnekte &#8220;Merhaba D\u00fcnya!&#8221;) terminale yazd\u0131r\u0131r ve ard\u0131ndan yeni bir sat\u0131ra ge\u00e7er.<br \/>\n    *   Go&#8217;da sat\u0131r sonlar\u0131nda noktal\u0131 virg\u00fcl <code>;<\/code> kullanmak zorunlu de\u011fildir, derleyici bunlar\u0131 otomatik olarak ekler. Ancak, ayn\u0131 sat\u0131rda birden fazla ifade yaz\u0131yorsan\u0131z kullanman\u0131z gerekebilir, bu pek \u00f6nerilmez.<\/p>\n<h3>Program\u0131n\u0131z\u0131 Derlemek ve \u00c7al\u0131\u015ft\u0131rmak<\/h3>\n<p><code>go run<\/code> komutu, h\u0131zl\u0131 testler ve geli\u015ftirmeler i\u00e7in harikad\u0131r \u00e7\u00fcnk\u00fc program\u0131n\u0131z\u0131 derler ve do\u011frudan \u00e7al\u0131\u015ft\u0131r\u0131r. Ancak, bir da\u011f\u0131t\u0131labilir uygulama olu\u015fturmak istedi\u011finizde <code>go build<\/code> komutunu kullanman\u0131z gerekir.<\/p>\n<p>1.  <strong><code>go run<\/code> ile \u00c7al\u0131\u015ft\u0131rmak:<\/strong><\/p>\n<pre><code>\n    go run main.go\n    <\/code><\/pre>\n<p>    Bu komut, <code>main.go<\/code> dosyas\u0131n\u0131 derler, ge\u00e7ici bir y\u00fcr\u00fct\u00fclebilir dosya olu\u015fturur ve \u00e7al\u0131\u015ft\u0131r\u0131r. \u0130\u015flem bitti\u011finde, ge\u00e7ici dosya silinir.<\/p>\n<p>2.  <strong><code>go build<\/code> ile Derlemek:<\/strong><\/p>\n<pre><code>\n    go build main.go\n    <\/code><\/pre>\n<p>    Bu komut, <code>main.go<\/code> dosyas\u0131n\u0131 derler ve ge\u00e7erli dizinde <code>main<\/code> (Windows&#8217;ta <code>main.exe<\/code>) ad\u0131nda bir y\u00fcr\u00fct\u00fclebilir dosya olu\u015fturur. Bu dosya, Go ortam\u0131n\u0131n kurulu olmad\u0131\u011f\u0131 bir sistemde bile ba\u011f\u0131ms\u0131z olarak \u00e7al\u0131\u015fabilir.<br \/>\n    Olu\u015fturulan y\u00fcr\u00fct\u00fclebilir dosyay\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in:<\/p>\n<pre><code>\n    .\/main   # Linux\/macOS\n    main.exe # Windows\n    <\/code><\/pre>\n<p>    Bu, Go&#8217;nun derlenmi\u015f bir dil olmas\u0131n\u0131n \u00f6nemli bir avantaj\u0131d\u0131r: tek bir dosya halinde da\u011f\u0131t\u0131labilir, ba\u011f\u0131ms\u0131z uygulamalar olu\u015fturabilirsiniz.<\/p>\n<h3>Merhaba D\u00fcnya!&#8217;n\u0131n \u00d6tesi: Temel Kavramlar<\/h3>\n<p>\u0130lk program\u0131m\u0131z\u0131 yaz\u0131p anlad\u0131\u011f\u0131m\u0131za g\u00f6re, Go&#8217;nun baz\u0131 temel yap\u0131 ta\u015flar\u0131na g\u00f6z atal\u0131m.<\/p>\n<h4>De\u011fi\u015fkenler (Variables)<\/h4>\n<p>De\u011fi\u015fkenler, verileri depolamak i\u00e7in kullan\u0131lan adland\u0131r\u0131lm\u0131\u015f bellek konumlar\u0131d\u0131r. Go&#8217;da de\u011fi\u015fken tan\u0131mlaman\u0131n birka\u00e7 yolu vard\u0131r.<\/p>\n<p>1.  <strong><code>var<\/code> Anahtar Kelimesiyle Tan\u0131mlama:<\/strong><\/p>\n<pre><code>\n    var isim string = \"Ay\u015fe\" \/\/ string tipinde isim de\u011fi\u015fkeni\n    var ya\u015f int = 30         \/\/ int tipinde ya\u015f de\u011fi\u015fkeni\n    var isAktif bool         \/\/ bool tipinde isAktif de\u011fi\u015fkeni, varsay\u0131lan de\u011feri false olur\n    <\/code><\/pre>\n<p>    Go, de\u011fi\u015fkenlere varsay\u0131lan de\u011ferler atar (s\u0131f\u0131r de\u011feri): <code>int<\/code> i\u00e7in <code>0<\/code>, <code>string<\/code> i\u00e7in <code>\"\"<\/code> (bo\u015f string), <code>bool<\/code> i\u00e7in <code>false<\/code>.<\/p>\n<p>2.  <strong>Tip \u00c7\u0131kar\u0131m\u0131 (Type Inference):<\/strong><br \/>\n    Go, atanan de\u011ferden de\u011fi\u015fkenin tipini otomatik olarak \u00e7\u0131karabilir.<\/p>\n<pre><code>\n    var \u015fehir = \"Ankara\" \/\/ Go, \"Ankara\" bir string oldu\u011fu i\u00e7in \u015fehir'i string olarak anlar\n    var fiyat = 99.99    \/\/ Go, 99.99 bir float oldu\u011fu i\u00e7in fiyat'\u0131 float64 olarak anlar\n    <\/code><\/pre>\n<p>3.  <strong>K\u0131sa De\u011fi\u015fken Bildirimi (Short Variable Declaration):<\/strong><br \/>\n    <code>:=<\/code> operat\u00f6r\u00fc, sadece fonksiyonlar\u0131n i\u00e7inde kullan\u0131labilen k\u0131sa de\u011fi\u015fken bildirimi i\u00e7in kullan\u0131l\u0131r. Hem de\u011fi\u015fkeni tan\u0131mlar hem de de\u011fer atar, ayr\u0131ca tip \u00e7\u0131kar\u0131m\u0131 yapar.<\/p>\n<pre><code>\n    ad := \"Mehmet\" \/\/ ad string tipinde olur\n    say\u0131 := 10     \/\/ say\u0131 int tipinde olur\n    <\/code><\/pre>\n<p>\u00d6rnek kod:<\/p>\n<pre><code>\npackage main\n\nimport \"fmt\"\n\nfunc main() {\n    var mesaj string = \"Merhaba Go!\"\n    fmt.Println(mesaj)\n\n    ya\u015f := 25\n    fmt.Println(\"Ya\u015f\u0131m:\", ya\u015f)\n\n    pi := 3.14\n    fmt.Println(\"Pi say\u0131s\u0131:\", pi)\n\n    var do\u011fruMu bool = true\n    fmt.Println(\"Do\u011fru mu?\", do\u011fruMu)\n}\n<\/code><\/pre>\n<h4>Veri Tipleri (Data Types)<\/h4>\n<p>Go, \u00e7e\u015fitli temel veri tiplerini destekler:<\/p>\n<p>*   <strong>Say\u0131sal Tipler:<\/strong><br \/>\n    *   <code>int<\/code>, <code>int8<\/code>, <code>int16<\/code>, <code>int32<\/code>, <code>int64<\/code>: \u0130\u015faretli tam say\u0131lar (farkl\u0131 boyutlarda). <code>int<\/code> genellikle 32 veya 64 bit&#8217;tir, sistem mimarisine ba\u011fl\u0131d\u0131r.<br \/>\n    *   <code>uint<\/code>, <code>uint8<\/code>, <code>uint16<\/code>, <code>uint32<\/code>, <code>uint64<\/code>, <code>uintptr<\/code>: \u0130\u015faretsiz tam say\u0131lar (yaln\u0131zca pozitif).<br \/>\n    *   <code>float32<\/code>, <code>float64<\/code>: Kayan noktal\u0131 say\u0131lar. <code>float64<\/code> genellikle tercih edilir.<br \/>\n    *   <code>complex64<\/code>, <code>complex128<\/code>: Karma\u015f\u0131k say\u0131lar.<br \/>\n    *   <code>byte<\/code>: <code>uint8<\/code> i\u00e7in takma ad.<br \/>\n    *   <code>rune<\/code>: <code>int32<\/code> i\u00e7in takma ad, Unicode kod noktalar\u0131n\u0131 temsil eder.<\/p>\n<p>*   <strong>Metin Tipleri:<\/strong><br \/>\n    *   <code>string<\/code>: Karakter dizileri. Go&#8217;da stringler de\u011fi\u015fmezdir (immutable).<\/p>\n<p>*   <strong>Mant\u0131ksal Tipler:<\/strong><br \/>\n    *   <code>bool<\/code>: <code>true<\/code> veya <code>false<\/code> de\u011ferlerini alabilir.<\/p>\n<h4>Fonksiyonlar (Functions)<\/h4>\n<p>Fonksiyonlar, belirli bir g\u00f6revi yerine getiren kod bloklar\u0131d\u0131r. Go&#8217;da fonksiyonlar <code>func<\/code> anahtar kelimesiyle tan\u0131mlan\u0131r.<\/p>\n<pre><code>\npackage main\n\nimport \"fmt\"\n\n\/\/ Toplama i\u015flemi yapan bir fonksiyon\nfunc topla(a int, b int) int {\n    return a + b\n}\n\n\/\/ Birden fazla de\u011fer d\u00f6nd\u00fcren bir fonksiyon\nfunc takas(x, y string) (string, string) {\n    return y, x\n}\n\nfunc main() {\n    sonu\u00e7 := topla(5, 3)\n    fmt.Println(\"Toplam:\", sonu\u00e7) \/\/ \u00c7\u0131kt\u0131: Toplam: 8\n\n    kelime1 := \"Merhaba\"\n    kelime2 := \"D\u00fcnya\"\n    yeniKelime1, yeniKelime2 := takas(kelime1, kelime2)\n    fmt.Println(\"Takas sonras\u0131:\", yeniKelime1, yeniKelime2) \/\/ \u00c7\u0131kt\u0131: Takas sonras\u0131: D\u00fcnya Merhaba\n}\n<\/code><\/pre>\n<p>Yukar\u0131daki \u00f6rnekte:<br \/>\n*   <code>topla<\/code> fonksiyonu iki <code>int<\/code> parametre al\u0131r ve bir <code>int<\/code> de\u011feri d\u00f6nd\u00fcr\u00fcr.<br \/>\n*   <code>takas<\/code> fonksiyonu iki <code>string<\/code> parametre al\u0131r ve iki <code>string<\/code> de\u011feri d\u00f6nd\u00fcr\u00fcr. Go, birden fazla de\u011fer d\u00f6nd\u00fcrme yetene\u011fiyle \u00f6ne \u00e7\u0131kar.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu rehberde, Go programlama ortam\u0131n\u0131 kurmay\u0131, ilk &#8220;Merhaba D\u00fcnya!&#8221; program\u0131n\u0131z\u0131 yazmay\u0131 ve Go&#8217;nun temel yap\u0131 ta\u015flar\u0131 olan de\u011fi\u015fkenleri, veri tiplerini ve fonksiyonlar\u0131 \u00f6\u011frendiniz. Go&#8217;nun basit ve temiz s\u00f6zdizimi sayesinde, bu kavramlar\u0131 h\u0131zl\u0131ca kavrad\u0131\u011f\u0131n\u0131z\u0131 umuyoruz.<\/p>\n<p>Go \u00f6\u011frenme yolculu\u011funuzda atman\u0131z gereken ilk ve en \u00f6nemli ad\u0131mlar\u0131 tamamlad\u0131n\u0131z. \u015eimdi bu bilgileri kullanarak daha karma\u015f\u0131k programlar yazmaya ba\u015flayabilir, Go&#8217;nun g\u00fc\u00e7l\u00fc e\u015fzamanl\u0131l\u0131k \u00f6zelliklerini ke\u015ffedebilir ve web sunucular\u0131 veya CLI ara\u00e7lar\u0131 gibi ger\u00e7ek d\u00fcnya uygulamalar\u0131 geli\u015ftirebilirsiniz.<\/p>\n<p>Unutmay\u0131n, pratik yapmak en iyi \u00f6\u011frenme y\u00f6ntemidir. Go Tour (<code>https:\/\/go.dev\/tour\/<\/code>) gibi resmi kaynaklar\u0131 ve Go belgelerini (<code>https:\/\/go.dev\/doc\/<\/code>) inceleyerek bilginizi derinle\u015ftirmeye devam edin.<\/p>\n<h4>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h4>\n<p><strong>Go neden bu kadar h\u0131zl\u0131?<\/strong><\/p>\n<p>Go, derlenmi\u015f bir dildir, yani kodu do\u011frudan makine koduna d\u00f6n\u00fc\u015ft\u00fcr\u00fcr. Bu, yorumlanan dillere (Python, JavaScript) g\u00f6re daha h\u0131zl\u0131 \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Ayr\u0131ca, Go&#8217;nun \u00e7\u00f6p toplama (garbage collection) mekanizmas\u0131 ve hafif e\u015fzamanl\u0131l\u0131k (goroutines ve channels) modelleri, performans\u0131 art\u0131r\u0131r.<\/p>\n<p><strong>Go&#8217;da IDE kullanmak zorunlu mu?<\/strong><\/p>\n<p>Hay\u0131r, Go programlamak i\u00e7in herhangi bir metin d\u00fczenleyici kullanabilirsiniz. Ancak, VS Code veya GoLand gibi bir IDE veya geli\u015fmi\u015f bir metin d\u00fczenleyici kullanmak, kod tamamlama, hata denetimi, bi\u00e7imlendirme ve hata ay\u0131klama gibi \u00f6zelliklerle geli\u015ftirme s\u00fcrecinizi \u00e7ok daha verimli hale getirecektir.<\/p>\n<p><strong>Go&#8217;yu hangi alanlarda kullanabilirim?<\/strong><\/p>\n<p>Go, geni\u015f bir kullan\u0131m alan\u0131na sahiptir:<\/p>\n<ul>\n<li>Web servisleri ve API&#8217;ler (\u00f6rn. Gin, Echo framework&#8217;leri)<\/li>\n<li>Mikroservis mimarileri<\/li>\n<li>Komut sat\u0131r\u0131 ara\u00e7lar\u0131 (CLI)<\/li>\n<li>A\u011f programlama<\/li>\n<li>Sistem programlama (\u00f6rn. Docker, Kubernetes Go ile yaz\u0131lm\u0131\u015ft\u0131r)<\/li>\n<li>Veri i\u015fleme ve b\u00fcy\u00fck veri analizi<\/li>\n<\/ul>\n<p><strong>Go \u00f6\u011frenmek zor mu?<\/strong><\/p>\n<p>Go, di\u011fer baz\u0131 dillerle (\u00f6rn. C++, Java) kar\u015f\u0131la\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda olduk\u00e7a basit ve \u00f6\u011frenmesi kolay bir dildir. Minimalist s\u00f6zdizimi, a\u00e7\u0131k ve tutarl\u0131 kurallar\u0131 sayesinde yeni ba\u015flayanlar bile k\u0131sa s\u00fcrede verimli olabilir. \u00d6zellikle C, C++ veya Java ge\u00e7mi\u015fi olanlar Go&#8217;ya daha h\u0131zl\u0131 adapte olabilirler.<\/p>\n<p><strong>Go mod\u00fclleri nedir?<\/strong><\/p>\n<p>Go mod\u00fclleri, Go&#8217;da ba\u011f\u0131ml\u0131l\u0131k y\u00f6netiminin standart yoludur. Projelerinizin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 (kulland\u0131\u011f\u0131n\u0131z k\u00fct\u00fcphaneler) y\u00f6netmenizi sa\u011flar. <code>go.mod<\/code> dosyas\u0131, projenizin hangi Go s\u00fcr\u00fcm\u00fcn\u00fc kulland\u0131\u011f\u0131n\u0131 ve hangi ba\u011f\u0131ml\u0131l\u0131klar\u0131n hangi s\u00fcr\u00fcmlerinin gerekli oldu\u011funu belirtir. <code>go mod init<\/code> komutuyla bir mod\u00fcl ba\u015flat\u0131l\u0131r ve <code>go get<\/code> komutuyla ba\u011f\u0131ml\u0131l\u0131klar eklenir.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Go ile \u0130lk Program\u0131n\u0131z\u0131 Yazmaya Ba\u015flarken\nGo (veya Golang), Google taraf\u0131ndan geli\u015ftirilen, a\u00e7\u0131k kaynakl\u0131, statik tipli ve derlenmi\u015f bir","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-35304","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Go ile \u0130lk Program\u0131n\u0131z\u0131 Yazmaya Ba\u015flarken - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Go ile \u0130lk Program\u0131n\u0131z\u0131 Yazmaya Ba\u015flarken\" \/>\n<meta property=\"og:description\" content=\"Go ile \u0130lk Program\u0131n\u0131z\u0131 Yazmaya Ba\u015flarken Go (veya Golang), Google taraf\u0131ndan geli\u015ftirilen, a\u00e7\u0131k kaynakl\u0131, statik tipli ve derlenmi\u015f bir\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-28T00:41:23+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Go ile \u0130lk Program\u0131n\u0131z\u0131 Yazmaya Ba\u015flarken\",\"datePublished\":\"2025-11-28T00:41:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/\"},\"wordCount\":1907,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/\",\"name\":\"Go ile \u0130lk Program\u0131n\u0131z\u0131 Yazmaya Ba\u015flarken - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-28T00:41:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Go ile \u0130lk Program\u0131n\u0131z\u0131 Yazmaya Ba\u015flarken\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Go ile \u0130lk Program\u0131n\u0131z\u0131 Yazmaya Ba\u015flarken - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/","og_locale":"tr_TR","og_type":"article","og_title":"Go ile \u0130lk Program\u0131n\u0131z\u0131 Yazmaya Ba\u015flarken","og_description":"Go ile \u0130lk Program\u0131n\u0131z\u0131 Yazmaya Ba\u015flarken Go (veya Golang), Google taraf\u0131ndan geli\u015ftirilen, a\u00e7\u0131k kaynakl\u0131, statik tipli ve derlenmi\u015f bir","og_url":"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-28T00:41:23+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"11 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Go ile \u0130lk Program\u0131n\u0131z\u0131 Yazmaya Ba\u015flarken","datePublished":"2025-11-28T00:41:23+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/"},"wordCount":1907,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/","url":"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/","name":"Go ile \u0130lk Program\u0131n\u0131z\u0131 Yazmaya Ba\u015flarken - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-28T00:41:23+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/go-ile-ilk-programinizi-yazmaya-baslarken\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Go ile \u0130lk Program\u0131n\u0131z\u0131 Yazmaya Ba\u015flarken"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35304","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=35304"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35304\/revisions"}],"predecessor-version":[{"id":35305,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35304\/revisions\/35305"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}