Noroc adlı üyeden alıntı: mesajı görüntüle
Golangde fonksiyon isimlendirmelerinde snak_case tercih edilmiyor. https://go.dev/doc/effective_go#functions
Eger public ise IsDir, private ise isDir olarak olarak isimlendirmek daha dogru olacaktir.

https://github.com/samber/lo gibi bir paket olusturursan daha guzel olur. Tek pakette erisilebilir butun fonksiyonlar.
Herkese açık bir kütüphane oluştursaydım bu dediğiniz doğru olurdu. Fonksiyon isimlerinin buyük harfle başlaması ve alt çizgi kullanmamak standartlar açısından uygun olurdu. Ancak bu fonksiyon kütüphaneye dahil bir fonksiyon değil.

Bir fatura kütüphanesi oluştursaydım Kullanımı şu şekillerde olurdu;
Fatura.Olustur()
Fatura.Sil()
Fatura.Duzenle()
Fatura.Imzala()
...

Konudaki paylaştığım kod tek başına bir fonksiyon olduğu için kütüphane oluşturulmasına gerek yok. Bir kütüphane hazırlamam gerektiğinde sizin de söylediğiniz gibi Go modül standarlarına uygun olarak yaparım.

Golang örneklerinden de anlayabileceğiniz üzere main paketle birlikte kullanılacak fonsiyonlar için bu standarta uymanız beklenmez ve çoğunlukla resmi olarak uyulmaz da. Bu standartlar Go kütüphaneleri geliştirenlerin benzer kodlar oluşturması içindir.

https://go.dev/tour/basics/4


https://www.geeksforgeeks.org/functions-in-go-language/

Bahsettiğiniz şey "package main" olmayan, kendi modülünü (kütüphanesini) kullanılması durumunda uygulanması gereken standarlardır. Bu Go geliştiricilerinin kendi stillerinde yazmasını engelleyeceği için proje üzerinde geliştirme ve düzenleme yapan geliştiricilerin birbirlerini daha iyi anlamasını sağlar. "Spagetti" dediğimiz kodun oluşmaması adına.



Bahsettiğiniz adresten örnek vermişsiniz ancak sayfayı biraz aşağı kaydırırsanız bahsettiğim fonksiyon isimlerinin kullanılmış olduğunu da görebilirsiniz. "package main" ve fonksiyon isimlerinin başı büyük harfle başlamıyor. Resmi bir Go sayfasından örnek.