আমি বেশিরভাগ গো প্রকল্পগুলি অধ্যয়ন করেছি এবং এখানে যথেষ্ট পরিমাণে তারতম্য রয়েছে। কে সি থেকে আসছে এবং কে জাভা থেকে আসছে, আপনি প্রকারের প্রকল্পের মূল ডিরেক্টরিতে সমস্ত কিছু সম্পর্কে প্রাক্তন ডাম্প হিসাবে বলতে পারেনmain প্যাকেজের মধ্যে, এবং পরবর্তীটি সমস্ত কিছু একটি srcডিরেক্টরিতে রাখার ঝোঁক । উভয়ই অনুকূল নয়। প্রত্যেকের পরিণতি হয় কারণ তারা আমদানির পাথগুলিকে প্রভাবিত করে এবং অন্যরা কীভাবে তাদের পুনরায় ব্যবহার করতে পারে।
সর্বোত্তম ফলাফল পেতে আমি নিম্নলিখিত পদ্ধতির কাজ করেছি।
myproj/
main/
mypack.go
mypack.go
কোথায় mypack.goহয় package mypackএবং main/mypack.goআছে (সম্ভবত)package main ।
আপনার যদি অতিরিক্ত সমর্থন ফাইলের প্রয়োজন হয় তবে আপনার দুটি পছন্দ আছে। হয় সেগুলি সমস্তকে মূল ডিরেক্টরিতে রাখুন, বা ব্যক্তিগত সহায়তার ফাইলগুলিকে একটি libউপ ডিরেক্টরিতে রেখে দিন। যেমন
myproj/
main/
mypack.go
myextras/
someextra.go
mypack.go
mysupport.go
অথবা
myproj.org/
lib/
mysupport.go
myextras/
someextra.go
main/
mypack.go
mypage.go
কেবলমাত্র একটি libডিরেক্টরিতে ফাইলগুলি রাখুন যদি সেগুলি অন্য কোনও প্রকল্পের দ্বারা আমদানির উদ্দেশ্যে না হয়। অন্য কথায়, যদি তারা ব্যক্তিগত সমর্থন ফাইল হয়। এটি lib- ব্যক্তিগত ইন্টারফেস থেকে পৃথক জনসাধারণ থাকার পিছনে ধারণা ।
myproj.org/mypackঅন্য প্রকল্পগুলিতে কোডটি পুনরায় ব্যবহার করার জন্য এইভাবে জিনিসগুলি করা আপনাকে একটি দুর্দান্ত আমদানির পথ দেয় । আপনি যদি ব্যবহার করেন libতবে অভ্যন্তরীণ সহায়তা ফাইলগুলিতে একটি আমদানির পথ থাকবে যা এর সূচক myproj.org/lib/mysupport।
প্রকল্পটি তৈরি করার সময় main/mypack, যেমন , ব্যবহার করুন go build main/mypack। যদি আপনার একাধিক এক্সিকিউটেবল থাকে তবে আপনি mainপৃথক প্রকল্প তৈরি না করেও এগুলিকে পৃথক করতে পারেন। যেমন main/myfoo/myfoo.goএবং main/mybar/mybar.go।