[{"data":1,"prerenderedAt":997},["ShallowReactive",2],{"post-\u002Ftr\u002Fgo-veri-tipleri-struct":3},{"page":4,"translation":837,"nav":852,"related":975,"random":984},{"id":5,"title":6,"body":7,"categories":835,"category":837,"date":838,"description":839,"draft":840,"extension":841,"image":842,"kind":837,"lang":122,"meta":843,"navigation":290,"path":844,"readingTime":255,"seo":845,"slug":846,"stem":847,"tags":848,"translationKey":837,"type":836,"updated":850,"__hash__":851},"postsTr\u002Ftr\u002Fgo-veri-tipleri-struct.md","Go Veri Tipleri: Struct",{"type":8,"value":9,"toc":828},"minimark",[10,67,82,104,107,110,115,214,216,221,224,265,271,302,305,325,328,330,334,337,366,373,397,400,424,426,430,433,532,535,543,554,556,560,563,745,767,795,798,800,805,824],[11,12,13,21],"blockquote",{},[14,15,16,17],"p",{},"💡 ",[18,19,20],"strong",{},"Özet (TL;DR):",[22,23,24,31,57],"ul",{},[25,26,27,30],"li",{},[18,28,29],{},"Nedir:"," Farklı veri tiplerindeki alanları bir araya getiren ve kendi özel veri tiplerimizi oluşturmamızı sağlayan veri yapılarıdır (structures).",[25,32,33,36,37,41,42,45,46,41,49,52,53,56],{},[18,34,35],{},"Kritik Kod Düzeltmeleri:"," Örnek kodlardaki tanımlanmamış değişken adı (",[38,39,40],"code",{},"ogrenci"," yerine ",[38,43,44],{},"student","), küçük\u002Fbüyük harf uyumsuzluğu (",[38,47,48],{},"mathgrade",[38,50,51],{},"mathGrade",") ve fazla noktalı virgül (",[38,54,55],{},";",") gibi derleme hataları tamamen düzeltilmiştir.",[25,58,59,62,63,66],{},[18,60,61],{},"Özellikler:"," Nokta gösterimi (",[38,64,65],{},"s1.name","), iç içe struct kullanımı, pointer ile değiştirilebilir (mutable) referanslar oluşturma ve nesne yönelimli dillerdeki kalıtıma benzeyen \"struct gömme (embedding)\" özellikleri.",[14,68,69,70],{},"Kapak Fotoğrafı: ",[18,71,72],{},[73,74,81],"a",{"href":75,"rel":76,"target":80},"https:\u002F\u002Fwww.pexels.com\u002F@tranmautritam?utm_content=attributionCopyText&utm_medium=referral&utm_source=pexels",[77,78,79],"nofollow","noopener","noreferrer","_blank","Tranmautritam",[14,83,84,85,89,90,94,95,99,100,103],{},"Şimdiye kadar ",[73,86,88],{"href":87},"\u002Ftr\u002Fgo-veri-tipleri-string-integer-float-complex-boolean-ve-array","Array",", ",[73,91,93],{"href":92},"\u002Ftr\u002Fgo-slice-veri-tipi","Slice"," ve ",[73,96,98],{"href":97},"\u002Ftr\u002Fgo-veri-tipleri-map","Map"," dahil olmak üzere birçok pratik ve faydalı veri tipinden bahsettik. Fakat bunlar her zaman ihtiyaçlarınıza tam karşılık vermeyebilir. Go, bu problemi \"structures\" (kısa adıyla ",[18,101,102],{},"struct",") yapısıyla çözüyor.",[14,105,106],{},"Array, Slice ve Map'ler her ne kadar çok pratik olsalar da farklı tiplerdeki değerleri bir arada gruplayarak saklamamızı sağlayamazlar. Çeşitli değişkenleri gruplamak ve bunlardan yeni bir veri tipi oluşturmak için struct yapısını kullanabilirsiniz.",[108,109],"hr",{},[111,112,114],"h3",{"id":113},"struct-map-ve-sınıf-class-farkları","Struct, Map ve Sınıf (Class) Farkları",[116,117,118,138],"table",{},[119,120,121],"thead",{},[122,123,124,129,132,135],"tr",{},[125,126,128],"th",{"align":127},"left","Özellik",[125,130,131],{"align":127},"Struct (Go)",[125,133,134],{"align":127},"Map (Go)",[125,136,137],{"align":127},"Sınıf \u002F Class (C#\u002FJava)",[139,140,141,158,182,198],"tbody",{},[122,142,143,149,152,155],{},[144,145,146],"td",{"align":127},[18,147,148],{},"Veri Tipi Homojenliği",[144,150,151],{"align":127},"Heterojen (Farklı tipler barındırabilir).",[144,153,154],{"align":127},"Homojen (Tüm anahtar ve değerler aynı tipte olmalıdır).",[144,156,157],{"align":127},"Heterojen (Metot ve değişkenleri barındırır).",[122,159,160,165,172,179],{},[144,161,162],{"align":127},[18,163,164],{},"Erişim Türü",[144,166,167,168,171],{"align":127},"Nokta gösterimi (",[38,169,170],{},"s.Name",") ile hızlı ve statik derleme zamanı kontrolü.",[144,173,174,175,178],{"align":127},"Anahtar araması (",[38,176,177],{},"m[\"key\"]",") ile çalışma zamanı (runtime) kontrolü.",[144,180,181],{"align":127},"Nokta gösterimi ve metot çağrıları.",[122,183,184,189,192,195],{},[144,185,186],{"align":127},[18,187,188],{},"Referans vs. Değer",[144,190,191],{"align":127},"Değer (Value) tipidir. Kopyalanarak taşınır (Pointer ile referans verilir).",[144,193,194],{"align":127},"Referans (Reference) tipidir. Doğrudan bellekteki adresi gösterir.",[144,196,197],{"align":127},"Referans tipidir (Genellikle).",[122,199,200,205,208,211],{},[144,201,202],{"align":127},[18,203,204],{},"Kalıtım (Inheritance)",[144,206,207],{"align":127},"Doğrudan kalıtım yoktur, kompozisyon (embedding) kullanılır.",[144,209,210],{"align":127},"Kalıtım yoktur.",[144,212,213],{"align":127},"Arayüz (interface) ve sınıflardan kalıtım desteği vardır.",[108,215],{},[217,218,220],"h2",{"id":219},"_1-struct-tanımlama-ve-değer-atama","1. Struct Tanımlama ve Değer Atama",[14,222,223],{},"Struct'lara, map tipi için kullandığımız örneği geliştirerek giriş yapabiliriz:",[225,226,231],"pre",{"className":227,"code":228,"language":229,"meta":230,"style":230},"language-go shiki shiki-themes github-light github-dark","type student struct {\n    name      string\n    mathGrade int\n    lithGrade int\n}\n","go","",[38,232,233,241,247,253,259],{"__ignoreMap":230},[234,235,238],"span",{"class":236,"line":237},"line",1,[234,239,240],{},"type student struct {\n",[234,242,244],{"class":236,"line":243},2,[234,245,246],{},"    name      string\n",[234,248,250],{"class":236,"line":249},3,[234,251,252],{},"    mathGrade int\n",[234,254,256],{"class":236,"line":255},4,[234,257,258],{},"    lithGrade int\n",[234,260,262],{"class":236,"line":261},5,[234,263,264],{},"}\n",[14,266,267,268,270],{},"Bu kullanım nesne yönelimli programlama dillerindeki sınıf (class) yapılarına benzese de, Go'da geleneksel bir nesne yönelimli yapı yoktur. Yukarıdaki tanımlamayla ",[38,269,44],{}," adında yeni bir tip oluşturmuş olduk. Struct tipindeki bu değişkeni standart değişkenlere benzer yöntemlerle tanımlayıp değer atayabiliriz:",[225,272,274],{"className":227,"code":273,"language":229,"meta":230,"style":230},"\u002F\u002F Değerleri struct'ta tanımlandıkları sırayla atayabiliriz:\ns1 := student{\"Evren\", 10, 8}\n\n\u002F\u002F Veya alan isimlerini belirterek eşleyebiliriz:\ns1 := student{name: \"Evren\", mathGrade: 10}\n",[38,275,276,281,286,292,297],{"__ignoreMap":230},[234,277,278],{"class":236,"line":237},[234,279,280],{},"\u002F\u002F Değerleri struct'ta tanımlandıkları sırayla atayabiliriz:\n",[234,282,283],{"class":236,"line":243},[234,284,285],{},"s1 := student{\"Evren\", 10, 8}\n",[234,287,288],{"class":236,"line":249},[234,289,291],{"emptyLinePlaceholder":290},true,"\n",[234,293,294],{"class":236,"line":255},[234,295,296],{},"\u002F\u002F Veya alan isimlerini belirterek eşleyebiliriz:\n",[234,298,299],{"class":236,"line":261},[234,300,301],{},"s1 := student{name: \"Evren\", mathGrade: 10}\n",[14,303,304],{},"Struct içerisindeki bir değere ulaşmak veya yeni değer atamak isterseniz nokta gösterimi (dot notation) kullanabilirsiniz:",[225,306,308],{"className":227,"code":307,"language":229,"meta":230,"style":230},"s1 := student{name: \"Evren\"}\ns1.mathGrade = 10\nfmt.Print(s1.name, \" adlı öğrencinin Matematik notu: \", s1.mathGrade) \n",[38,309,310,315,320],{"__ignoreMap":230},[234,311,312],{"class":236,"line":237},[234,313,314],{},"s1 := student{name: \"Evren\"}\n",[234,316,317],{"class":236,"line":243},[234,318,319],{},"s1.mathGrade = 10\n",[234,321,322],{"class":236,"line":249},[234,323,324],{},"fmt.Print(s1.name, \" adlı öğrencinin Matematik notu: \", s1.mathGrade)\n",[14,326,327],{},"Yukarıdaki örnekte görüldüğü gibi, bir struct tanımlanırken hangi değerlerinin atanacağı isteğe bağlıdır; tüm alanları belirtmediğiniz durumlarda Go varsayılan sıfır değerlerini atar ve herhangi bir derleme hatası almazsınız.",[108,329],{},[217,331,333],{"id":332},"_2-i̇ç-i̇çe-struct-kullanımı","2. İç İçe Struct Kullanımı",[14,335,336],{},"Daha gerçekçi bir başka struct örneği verirsek:",[225,338,340],{"className":227,"code":339,"language":229,"meta":230,"style":230},"type Coord struct {\n   X int\n   Y int\n   Z int\n}\n",[38,341,342,347,352,357,362],{"__ignoreMap":230},[234,343,344],{"class":236,"line":237},[234,345,346],{},"type Coord struct {\n",[234,348,349],{"class":236,"line":243},[234,350,351],{},"   X int\n",[234,353,354],{"class":236,"line":249},[234,355,356],{},"   Y int\n",[234,358,359],{"class":236,"line":255},[234,360,361],{},"   Z int\n",[234,363,364],{"class":236,"line":261},[234,365,264],{},[14,367,368,369,372],{},"Örneğin ",[38,370,371],{},"Coord"," adında bir struct tanımlayarak X, Y, Z koordinatlarını tutabiliriz.",[225,374,376],{"className":227,"code":375,"language":229,"meta":230,"style":230},"type Player struct {\n   name  string\n   start Coord\n}\n",[38,377,378,383,388,393],{"__ignoreMap":230},[234,379,380],{"class":236,"line":237},[234,381,382],{},"type Player struct {\n",[234,384,385],{"class":236,"line":243},[234,386,387],{},"   name  string\n",[234,389,390],{"class":236,"line":249},[234,391,392],{},"   start Coord\n",[234,394,395],{"class":236,"line":255},[234,396,264],{},[14,398,399],{},"Bu struct'ı oluşturduğumuz bir başka struct içerisinde dahi kullanabiliriz. Oluşturduğumuz bu struct'ları map, array veya slice değişkenleri içinde de tutmamız mümkündür:",[225,401,403],{"className":227,"code":402,"language":229,"meta":230,"style":230},"students := [10]student{}\n\n\u002F\u002F Veya map içinde tutmak için:\nstudents := make(map[int]student)\n",[38,404,405,410,414,419],{"__ignoreMap":230},[234,406,407],{"class":236,"line":237},[234,408,409],{},"students := [10]student{}\n",[234,411,412],{"class":236,"line":243},[234,413,291],{"emptyLinePlaceholder":290},[234,415,416],{"class":236,"line":249},[234,417,418],{},"\u002F\u002F Veya map içinde tutmak için:\n",[234,420,421],{"class":236,"line":255},[234,422,423],{},"students := make(map[int]student)\n",[108,425],{},[217,427,429],{"id":428},"_3-struct-ve-pointer-kullanımı","3. Struct ve Pointer Kullanımı",[14,431,432],{},"Son olarak, struct ve pointer tipinin birlikte kullanımına bir örnek verelim:",[225,434,436],{"className":227,"code":435,"language":229,"meta":230,"style":230},"package main\n\nimport \"fmt\"\n\ntype student struct {\n    name      string\n    mathGrade int\n    lithGrade int\n}\n\nfunc main() {\n    studentVar := student{name: \"Evren\", mathGrade: 10, lithGrade: 8}\n    fmt.Println(studentVar) \u002F\u002F {Evren 10 8}\n    \n    studentCopy := &studentVar\n    studentCopy.name = \"Huseyin\"\n    fmt.Println(studentVar) \u002F\u002F {Huseyin 10 8}\n}\n",[38,437,438,443,447,452,456,460,465,470,475,480,485,491,497,503,509,515,521,527],{"__ignoreMap":230},[234,439,440],{"class":236,"line":237},[234,441,442],{},"package main\n",[234,444,445],{"class":236,"line":243},[234,446,291],{"emptyLinePlaceholder":290},[234,448,449],{"class":236,"line":249},[234,450,451],{},"import \"fmt\"\n",[234,453,454],{"class":236,"line":255},[234,455,291],{"emptyLinePlaceholder":290},[234,457,458],{"class":236,"line":261},[234,459,240],{},[234,461,463],{"class":236,"line":462},6,[234,464,246],{},[234,466,468],{"class":236,"line":467},7,[234,469,252],{},[234,471,473],{"class":236,"line":472},8,[234,474,258],{},[234,476,478],{"class":236,"line":477},9,[234,479,264],{},[234,481,483],{"class":236,"line":482},10,[234,484,291],{"emptyLinePlaceholder":290},[234,486,488],{"class":236,"line":487},11,[234,489,490],{},"func main() {\n",[234,492,494],{"class":236,"line":493},12,[234,495,496],{},"    studentVar := student{name: \"Evren\", mathGrade: 10, lithGrade: 8}\n",[234,498,500],{"class":236,"line":499},13,[234,501,502],{},"    fmt.Println(studentVar) \u002F\u002F {Evren 10 8}\n",[234,504,506],{"class":236,"line":505},14,[234,507,508],{},"    \n",[234,510,512],{"class":236,"line":511},15,[234,513,514],{},"    studentCopy := &studentVar\n",[234,516,518],{"class":236,"line":517},16,[234,519,520],{},"    studentCopy.name = \"Huseyin\"\n",[234,522,524],{"class":236,"line":523},17,[234,525,526],{},"    fmt.Println(studentVar) \u002F\u002F {Huseyin 10 8}\n",[234,528,530],{"class":236,"line":529},18,[234,531,264],{},[14,533,534],{},"Bu kodu çalıştırdığımızda şu çıktıyı alırız:",[225,536,541],{"className":537,"code":539,"language":540,"meta":230},[538],"language-text","{Evren 10 8}\n{Huseyin 10 8}\n","text",[38,542,539],{"__ignoreMap":230},[14,544,545,546,549,550,553],{},"Pointer kullanarak ",[38,547,548],{},"studentCopy"," ile ",[38,551,552],{},"studentVar"," değişkenlerini eşitlemiş, struct'ımızı bellekte aynı adresi gösterecek şekilde değiştirilebilir (mutable) bir hâle getirmiş oluruz.",[108,555],{},[217,557,559],{"id":558},"_4-struct-gömme-struct-embedding","4. Struct Gömme (Struct Embedding)",[14,561,562],{},"Go'da struct'ların içine bir başka struct gömebilir, gömdüğünüz struct'ın tüm alanlarına yeni struct'ınız içerisinden doğrudan ulaşabilirsiniz. Struct'ların bu özelliği, nesne yönelimli programlama dillerindeki \"kalıtım\" ve \"kompozisyon\" yapılarına oldukça benzer. Microsoft Learn'deki örnekle inceleyelim:",[225,564,566],{"className":227,"code":565,"language":229,"meta":230,"style":230},"package main\n\nimport \"fmt\"\n\ntype Person struct {\n    ID        int\n    FirstName string\n    LastName  string\n    Address   string\n}\n\ntype Employee struct {\n    Person\n    ManagerID int\n}\n\ntype Contractor struct {\n    Person\n    CompanyID int\n}\n\nfunc (person *Person) nameTell() {\n    fmt.Println(person.FirstName)\n}\n\nfunc main() {\n    employee := Employee{\n        Person: Person{\n            FirstName: \"John\",\n        },\n    }\n    employee.LastName = \"Doe\"\n    fmt.Println(employee.FirstName) \u002F\u002F John\n    employee.nameTell()             \u002F\u002F John\n}\n",[38,567,568,572,576,580,584,589,594,599,604,609,613,617,622,627,632,636,640,645,649,655,660,665,671,677,682,687,692,698,704,710,716,722,728,734,740],{"__ignoreMap":230},[234,569,570],{"class":236,"line":237},[234,571,442],{},[234,573,574],{"class":236,"line":243},[234,575,291],{"emptyLinePlaceholder":290},[234,577,578],{"class":236,"line":249},[234,579,451],{},[234,581,582],{"class":236,"line":255},[234,583,291],{"emptyLinePlaceholder":290},[234,585,586],{"class":236,"line":261},[234,587,588],{},"type Person struct {\n",[234,590,591],{"class":236,"line":462},[234,592,593],{},"    ID        int\n",[234,595,596],{"class":236,"line":467},[234,597,598],{},"    FirstName string\n",[234,600,601],{"class":236,"line":472},[234,602,603],{},"    LastName  string\n",[234,605,606],{"class":236,"line":477},[234,607,608],{},"    Address   string\n",[234,610,611],{"class":236,"line":482},[234,612,264],{},[234,614,615],{"class":236,"line":487},[234,616,291],{"emptyLinePlaceholder":290},[234,618,619],{"class":236,"line":493},[234,620,621],{},"type Employee struct {\n",[234,623,624],{"class":236,"line":499},[234,625,626],{},"    Person\n",[234,628,629],{"class":236,"line":505},[234,630,631],{},"    ManagerID int\n",[234,633,634],{"class":236,"line":511},[234,635,264],{},[234,637,638],{"class":236,"line":517},[234,639,291],{"emptyLinePlaceholder":290},[234,641,642],{"class":236,"line":523},[234,643,644],{},"type Contractor struct {\n",[234,646,647],{"class":236,"line":529},[234,648,626],{},[234,650,652],{"class":236,"line":651},19,[234,653,654],{},"    CompanyID int\n",[234,656,658],{"class":236,"line":657},20,[234,659,264],{},[234,661,663],{"class":236,"line":662},21,[234,664,291],{"emptyLinePlaceholder":290},[234,666,668],{"class":236,"line":667},22,[234,669,670],{},"func (person *Person) nameTell() {\n",[234,672,674],{"class":236,"line":673},23,[234,675,676],{},"    fmt.Println(person.FirstName)\n",[234,678,680],{"class":236,"line":679},24,[234,681,264],{},[234,683,685],{"class":236,"line":684},25,[234,686,291],{"emptyLinePlaceholder":290},[234,688,690],{"class":236,"line":689},26,[234,691,490],{},[234,693,695],{"class":236,"line":694},27,[234,696,697],{},"    employee := Employee{\n",[234,699,701],{"class":236,"line":700},28,[234,702,703],{},"        Person: Person{\n",[234,705,707],{"class":236,"line":706},29,[234,708,709],{},"            FirstName: \"John\",\n",[234,711,713],{"class":236,"line":712},30,[234,714,715],{},"        },\n",[234,717,719],{"class":236,"line":718},31,[234,720,721],{},"    }\n",[234,723,725],{"class":236,"line":724},32,[234,726,727],{},"    employee.LastName = \"Doe\"\n",[234,729,731],{"class":236,"line":730},33,[234,732,733],{},"    fmt.Println(employee.FirstName) \u002F\u002F John\n",[234,735,737],{"class":236,"line":736},34,[234,738,739],{},"    employee.nameTell()             \u002F\u002F John\n",[234,741,743],{"class":236,"line":742},35,[234,744,264],{},[14,746,747,748,751,752,94,755,758,759,761,762,94,764,766],{},"Yukarıdaki örnekte önce bir ",[38,749,750],{},"Person"," struct'ı oluşturduk ve bunu ",[38,753,754],{},"Contractor",[38,756,757],{},"Employee"," struct'larının içine gömdük. İşin güzel tarafı, ",[38,760,750],{}," struct'ının tüm alanlarına ",[38,763,757],{},[38,765,754],{}," struct'ları içinden doğrudan ulaşabiliyoruz.",[14,768,769,771,772,775,776,779,780,783,784,786,787,790,791,794],{},[38,770,757],{}," içinde ",[38,773,774],{},"FirstName"," alanı doğrudan tanımlanmamış olmasına rağmen, ",[38,777,778],{},"employee.Person.FirstName"," şeklinde uzunca bir kullanım yerine doğrudan ",[38,781,782],{},"employee.FirstName"," kullanabiliyoruz. Benzer şekilde ",[38,785,750],{}," struct'ına özel tanımladığımız ",[38,788,789],{},"nameTell"," fonksiyonunu da doğrudan ",[38,792,793],{},"employee"," nesnesi üzerinde çağırabiliyoruz. Bu iki özellik, struct'ları Go'nun vazgeçilmez bir parçası haline getiriyor.",[14,796,797],{},"Struct'ları daha detaylı anlatmak için biraz gerçek dünya örneklerine ihtiyacımız var. Gelecekte yazacağım yazılarda bu örneklere yer vermeyi ümit ediyorum.",[108,799],{},[801,802,804],"h5",{"id":803},"bu-yazıda-yapılan-değişiklikler","Bu Yazıda Yapılan Değişiklikler",[22,806,807,810],{},[25,808,809],{},"11.05.2022: Yazı özeti düzenlendi.",[25,811,812,813,815,816,818,819,815,821,823],{},"21.06.2026: Derleme hatası veren değişken isimleri (",[38,814,40],{}," -> ",[38,817,44],{},"), case-sensitive alan isimleri (",[38,820,48],{},[38,822,51],{},") ve gereksiz noktalı virgüller düzeltildi. CLI terminal çıktısındaki fazla eleman (baştaki sıfır) kaldırıldı. İmla hataları (birçok, doküman, fonksiyonu, değiştirilebilir vb.) giderildi, TL;DR özet ve karşılaştırma tablosu eklendi.",[825,826,827],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":230,"searchDepth":243,"depth":243,"links":829},[830,831,832,833,834],{"id":113,"depth":249,"text":114},{"id":219,"depth":243,"text":220},{"id":332,"depth":243,"text":333},{"id":428,"depth":243,"text":429},{"id":558,"depth":243,"text":559},[836],"technical",null,"2021-10-14","Go dilinde struct yapısı nedir, nasıl tanımlanır? Nokta gösterimi ile erişim, pointer kullanımı ve struct gömme (embedding) özellikleri.",false,"md","\u002Fimages\u002Fhero\u002Fgo-struct.avif",{},"\u002Ftr\u002Fgo-veri-tipleri-struct",{"title":6,"description":839},"go-veri-tipleri-struct","tr\u002Fgo-veri-tipleri-struct",[229,849,102],"golang","2026-06-21","pJNSMlbfnbV5cZPOyLnz9f0LwBVjmkRQc8M5AavFa9A",{"prev":853,"next":856,"others":858,"lucky":974,"readingTime":255},{"path":854,"title":855},"\u002Ftr\u002Fes12-nedir-ecmascript-2021-nedir","ES12 Nedir? ECMAScript 2021 Nedir?",{"path":97,"title":857},"Go Veri Tipleri - Map",[859,862,865,868,871,874,877,880,883,886,889,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,938,941,944,947,948,951,954,957,960,963,966,969,971],{"path":860,"title":861},"\u002Ftr\u002Fes5-nedir","ES5 Nedir? JavaScript Geliştiricileri İçin Kılavuz",{"path":863,"title":864},"\u002Ftr\u002Fes13-nedir-ecmascript-2022-nedir","ES13 nedir? ECMAScript 2022 nedir?",{"path":866,"title":867},"\u002Ftr\u002Fes8-nedir-ecmascript-2017-nedir","ES8 Nedir? ECMAScript 2017 Nedir?",{"path":869,"title":870},"\u002Ftr\u002Fes11-nedir-ecmascript-2020-nedir","ES11 Nedir? ECMAScript 2020 Nedir?",{"path":872,"title":873},"\u002Ftr\u002Fes14-nedir-ecmascript-2023-nedir","ES14 nedir? ECMAScript 2023 nedir?",{"path":875,"title":876},"\u002Ftr\u002Ftasarim-kaliplari-design-patterns-abstract-factory-nedir","Abstract Factory Tasarım Deseni Nedir?",{"path":878,"title":879},"\u002Ftr\u002Fdocker-swarm-nedir","Docker Swarm Nedir?",{"path":881,"title":882},"\u002Ftr\u002Fdesign-patterns-tasarim-desenleri-nedir","Design Patterns \u002F Tasarım Desenleri nedir?",{"path":884,"title":885},"\u002Ftr\u002Fadapter-tasarim-deseni-nedir","Adapter Tasarım Deseni Nedir?",{"path":887,"title":888},"\u002Ftr\u002Faws-ec2-uzerinde-docker-ve-full-stack-web-performansi","AWS EC2 Üzerinde Docker ve Full Stack Web Performansı",{"path":854,"title":855},{"path":891,"title":892},"\u002Ftr\u002Ffacade-tasarim-deseni-nedir","Facade Tasarım Deseni Nedir?",{"path":894,"title":895},"\u002Ftr\u002Fvisitor-tasarim-deseni-nedir","Visitor Tasarım Deseni Nedir?",{"path":897,"title":898},"\u002Ftr\u002Fphp-8-0-yenilikler","Merhaba PHP 8: Modern PHP 8.x Çağı",{"path":900,"title":901},"\u002Ftr\u002Fgo-ve-degiskenler","Go ve Değişkenler",{"path":903,"title":904},"\u002Ftr\u002Fes9-nedir-ecmascript-2018-nedir","ES9 Nedir? ECMAScript 2018 Nedir?",{"path":906,"title":907},"\u002Ftr\u002Fstrategy-tasarim-deseni-nedir","Strategy Tasarım Deseni Nedir?",{"path":909,"title":910},"\u002Ftr\u002Fubuntu-24-04-uzerinde-cyberpanel-kurulumu","Ubuntu 24.04 LTS ve 22.04 LTS Üzerinde CyberPanel Kurulumu",{"path":912,"title":913},"\u002Ftr\u002Fmutable-ve-immutable-kavrami","Mutable ve Immutable Kavramları Nedir?",{"path":915,"title":916},"\u002Ftr\u002Frest-api-kimlik-dogrulama-nasil-yapilir","REST API Kimlik Doğrulama Nasıl Yapılır?",{"path":918,"title":919},"\u002Ftr\u002Ftasarim-kaliplari-design-patterns-factory-method-nedir","Factory Method Tasarım Deseni Nedir?",{"path":921,"title":922},"\u002Ftr\u002Ftemplate-method-tasarim-deseni-nedir","Template Method Tasarım Deseni Nedir?",{"path":924,"title":925},"\u002Ftr\u002Fekran-filtresi-mavi-isik-filtresi-flux","Gözlere dost, mavi ışığa düşman ekran filtresi f.lux",{"path":927,"title":928},"\u002Ftr\u002Fes17-nedir-ecmascript-2026-nedir","ES17 nedir? ECMAScript 2026 nedir?",{"path":930,"title":931},"\u002Ftr\u002Frest-api-hata-yonetimi","REST Api Hata Yönetimi",{"path":933,"title":934},"\u002Ftr\u002Fes10-nedir-ecmascript-2019-nedir","ES10 Nedir? ECMAScript 2019 Nedir?",{"path":936,"title":937},"\u002Ftr\u002Fwordpress-yonetici-sifresini-wp-cli-kullanarak-sifirlama","WordPress Yönetici Şifresini WP-CLI Kullanarak Sıfırlama",{"path":939,"title":940},"\u002Ftr\u002Fself-hosted-api-gateway-nasil-kurulur-kapsamli-rehber","Self-Hosted API Gateway Nasıl Kurulur? Kapsamlı Rehber",{"path":942,"title":943},"\u002Ftr\u002Fsingleton-tasarim-deseni-nedir","Singleton Tasarım Deseni Nedir?",{"path":945,"title":946},"\u002Ftr\u002Fdocker-ile-redis-kurulumu","Docker ile Redis Kurulumu",{"path":97,"title":857},{"path":949,"title":950},"\u002Ftr\u002Fes15-nedir-ecmascript-2024-nedir","ES15 nedir? ECMAScript 2024 nedir?",{"path":952,"title":953},"\u002Ftr\u002Ffull-stack-proje-agaci","Full-Stack Proje Yol Haritası ve İçindekiler",{"path":955,"title":956},"\u002Ftr\u002Fmerhabadunya","Merhaba Dünya",{"path":958,"title":959},"\u002Ftr\u002Flitespeed-web-server-performans-artisi","Konfor Alanından Çıkıp, Konforlu Bir VPS'e Geçmek: LiteSpeed Web Server",{"path":961,"title":962},"\u002Ftr\u002Fubuntu-20-04-uzerinde-cyberpanel-kurulumu","Ubuntu 20.04 üzerinde CyberPanel kurulumu",{"path":964,"title":965},"\u002Ftr\u002Fgraylog-nedir-docker-ile-nasil-kurulur","Graylog Nedir? Docker Compose ile Adım Adım Kurulum Rehberi",{"path":967,"title":968},"\u002Ftr\u002Frest-api-uri-yapisi-nasil-olmali","REST API URI Yapısı Nasıl Olmalı?",{"path":92,"title":970},"Go Veri Tipleri: Slice",{"path":972,"title":973},"\u002Ftr\u002Fgoda-iota-nedir-iota-ne-zaman-ve-nerede-kullanilir","Go'da iota Nedir? iota Ne Zaman ve Nerede Kullanılır?",{"path":906,"title":907},[976,978,980,982],{"path":97,"title":857,"date":977},"2021-10-13",{"path":92,"title":970,"date":979},"2021-10-10",{"path":87,"title":981,"date":979},"Go Veri Tipleri - String, Integer, Float, Complex, Boolean ve Array",{"path":900,"title":901,"date":983},"2021-10-04",[985,989,993],{"path":986,"title":987,"date":988},"\u002Ftr\u002Fvue-js-nedir","Vue.js Nedir? Yeni Başlayanlar İçin Rehber","2020-12-08",{"path":990,"title":991,"date":992},"\u002Ftr\u002Fes6-nedir-ecmascript-2015-nedir","ES6 Nedir? ECMAScript 2015 Nedir?","2021-10-20",{"path":994,"title":995,"date":996},"\u002Ftr\u002Fubuntu-guncellemesi-sonrasi-cyberpanele-ulasilamama-sorunlarini-giderme","Ubuntu Güncellemesi Sonrası CyberPanel'e Ulaşılamama Sorunlarını Giderme","2023-10-14",1782142002660]