Go'da Modüler Kodlama

Merhabalar,

Şöyle bir dizinim var :

- LEdit
  - main.go
  - GUI.go

main.go

package main

import (
	"/GUI"
)

Buna benzer kodlar denedim ancak sürekli hata alıyorum.GUI.go’yu main.go’ya nasıl import edebileceğim?

30 görüntüleme var ancak hala bir cevap yok.İnternetteki kaynaklar da bu konuda yetersiz gibi,bulamadım.Go ile bu düzeye gelebilmiş kimse yok mu?

Anladığım kadarıyla aynı dizindeki, daha doğrusu aynı paket altındaki dosyaları import etmenize gerek yokmuş, olduğu gibi kullanabilirmişsiniz.

b.go

package main
import "fmt"

func fonksiyon() {
    fmt.Print("B Dosyası\n")
}

a.go

package main

func main(){
    fonksiyon();
}
go run a.go b.go
> B Dosyası

Modül yazacaksanız public fonksiyonların büyük harfle başlaması lazım. Onun dışında aynı paket altındaki dosyalar birbirinin fonksiyonlarına bu şekilde erişebilir.

2 Beğeni

Forumda öyle biri var mı bilmiyorum ama o seviyeye gelmek zor değil:
https://tour.golang.org/welcome/1

Bunun Türkçe hali de vardı fakat nedense sitede bir problem var.


Fonksiyonları farklı bir paketten kullanacaksanız public fonksiyonların büyük harfle başlaması lazım bu arada. (Kodunuzun eski hali de doğruydu @coderistan)

2 Beğeni

Aynen çalışıyordu da, siz yazınca düzeltme ihtiyacı hissettim. O zaman eski haline getirip modül detayını ekleyeyim.

Öncelikle cevabınız için teşekkür ederim <3

  1. Her şeyi anladım ama,go run a.go b.go kodununu go run a.go şeklinde değiştirirsek diğer modül çalıştırılmayacak mı?

  2. Build işlemini de aynı şekilde mi yapacağız?

Attığım linki takip ederseniz hem bunu hem de daha fazlasını öğrenebilirsiniz. Hatta baştan başlamanıza da gerek yok, gerekli konu başlığını okuyabilirsiniz.

1 Beğeni

Cevabı zaten biliyordum.Ancak nasıl kullanıldığı hakkında pek bir bilgim yoktu.Proje üzerinden giderek bilmediklerimi öğreniyorum.Kendimi gelişmiş hissettiğim zaman Dökümantasyon ile bildiklerimi karşılaştıracağım.