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.