নতুনদের জন্য 30টি গোলং প্রোগ্রামিং উদাহরণ

Natunadera Jan Ya 30ti Golam Programim Udaharana



গোল্যাং যাকে গো প্রোগ্রামিং ভাষাও বলা হয় 2007 সালে Google দ্বারা ডিজাইন করা একটি ওপেন-সোর্স প্রোগ্রামিং ভাষা। এই ভাষার সংস্করণ 1.0 2012 সালে প্রকাশিত হয়েছিল। এটি একটি কাঠামোগত প্রোগ্রামিং ভাষা যেমন C এবং বিভিন্ন ধরনের অ্যাপ্লিকেশন যেমন নেটওয়ার্কিং পরিষেবা, ক্লাউড। অ্যাপ্লিকেশন, ওয়েব অ্যাপ্লিকেশন, ইত্যাদি গোলং ভাষা দ্বারা বিকাশ করা যেতে পারে। এতে পাইথনের মতো অনেক ধরনের প্যাকেজ রয়েছে। এটি শেখা খুব সহজ, যা এই ভাষাটিকে নতুন প্রোগ্রামারদের কাছে জনপ্রিয় করে তোলে। এই টিউটোরিয়ালে 30টি গোল্যাং প্রোগ্রামিং উদাহরণ ব্যাখ্যা করা হয়েছে যাতে মূল বিষয়গুলি থেকে গোলং শেখার জন্য।

পূর্বশর্ত:

গোলং বিভিন্ন ধরনের অপারেটিং সিস্টেম দ্বারা সমর্থিত। উবুন্টুতে গোলং ইনস্টল করার উপায় টিউটোরিয়ালের এই অংশে দেখানো হয়েছে। এই টিউটোরিয়ালের উদাহরণগুলি অনুশীলন করার আগে সিস্টেম আপডেট করতে নিম্নলিখিত কমান্ডগুলি চালান এবং সিস্টেমে গোলং ইনস্টল করুন।







$ sudo উপযুক্ত আপডেট
$ sudo উপযুক্ত ইনস্টল বাড়াতে

গোলং এর ইনস্টল করা সংস্করণটি পরীক্ষা করতে নিম্নলিখিত কমান্ডটি চালান।



$ সংস্করণ যান

সুচিপত্র:



  1. হ্যালো হ্যালো ওয়ার্ল্ড
  2. গোলং স্ট্রিং ভেরিয়েবল
  3. স্ট্রিং থেকে Golang int
  4. গোলং স্ট্রিং টু ইন t
  5. গোলং স্ট্রিং সংযোগ
  6. গোলং মাল্টিলাইন স্ট্রিং
  7. গোলং বিভক্ত স্ট্রিং
  8. গোলং স্প্রিন্টফ
  9. গোলং এনাম
  10. গোলং কাঠামো
  11. গোলান অ্যারে
  12. গোলং সেট
  13. লুপের জন্য গোলং
  14. পরিসীমা জন্য Golang
  15. গোলং যখন লুপ
  16. গোলং চালিয়ে যান
  17. গোলং সুইচ কেস
  18. গোলং এলোমেলো নম্বর
  19. গোলং ঘুম
  20. সুবর্ণ সময়
  21. গোলং ইউইড
  22. গোলং ফাইল পড়ে
  23. গোলং ফাইল লাইন বাই লাইন পড়ে
  24. গোলং ফাইলে লিখুন
  25. Golang ফাইল বিদ্যমান কিনা পরীক্ষা করুন
  26. গোলান সিএসভি
  27. গোলং ইয়ামল
  28. Golang http অনুরোধ
  29. গোলং কমান্ড লাইন আর্গুমেন্ট
  30. গোলং এরর হ্যান্ডলিং


হ্যালো হ্যালো ওয়ার্ল্ড

দ্য প্রধান গোল্যাং-এর প্যাকেজটিতে গোলং প্রোগ্রামিংয়ের জন্য প্রয়োজনীয় সমস্ত প্যাকেজ রয়েছে এবং এটি গোলং স্ক্রিপ্টের সম্পাদন শুরু করতে হবে। দ্য fmt টার্মিনালে ফরম্যাট করা স্ট্রিং প্রিন্ট করার জন্য প্যাকেজ আমদানি করতে হবে। নিম্নলিখিত স্ক্রিপ্ট দিয়ে একটি গোলং ফাইল তৈরি করুন। স্ট্রিং মান, ‘হ্যালো ওয়ার্ল্ড।’ স্ক্রিপ্টটি কার্যকর করার পরে টার্মিনালে মুদ্রিত হবে।





//আউটপুট প্রিন্ট করতে fmt প্যাকেজ আমদানি করুন
আমদানি 'fmt'

// নির্বাহ শুরু করতে main() ফাংশনটি সংজ্ঞায়িত করুন
ফাংশন প্রধান () {

//নতুন লাইন দিয়ে একটি সাধারণ বার্তা প্রিন্ট করুন
fmt . Println ( 'ওহে বিশ্ব.' )

}

স্ক্রিপ্ট চালানোর জন্য নিম্নলিখিত কমান্ডটি চালান। এখানে, স্ক্রিপ্টটি example1, go ফাইলে সংরক্ষণ করা হয়েছে।

$ যান example1.go চালান

গোলং ফাইলের বাইনারি ফাইল তৈরি করতে নিম্নলিখিত কমান্ডটি চালান।



$ যান example1.go তৈরি করুন

এক্সিকিউটেবল ফাইলটি চালানোর জন্য নিম্নলিখিত কমান্ডটি চালান।

$ . / উদাহরণ1

উপরের কমান্ডগুলি কার্যকর করার পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে,,

  p1

উপরে যান


গোলং স্ট্রিং ভেরিয়েবল

স্ট্রিং ভেরিয়েবলগুলি ডাটা টাইপ সংজ্ঞায়িত না করে এবং গোলং-এ ডাটা টাইপের সাথে ব্যবহার করা যেতে পারে। নিম্নলিখিত স্ক্রিপ্ট সহ একটি গোলং ফাইল তৈরি করুন যা সাধারণ স্ট্রিং ডেটা এবং স্ট্রিং ভেরিয়েবল সহ স্ট্রিং ডেটা প্রিন্ট করবে। এর ব্যবহার Printf() এবং Println() ফাংশন স্ক্রিপ্ট দেখানো হয়েছে.

প্যাকেজ প্রধান
//আউটপুট প্রিন্ট করতে fmt প্যাকেজ আমদানি করুন
আমদানি 'fmt'

// main() ফাংশন সংজ্ঞায়িত করুন
ফাংশন প্রধান () {

// একটি নতুন লাইন দিয়ে একটি স্ট্রিং মান প্রিন্ট করুন
fmt . Printf ( LinuxHint.com থেকে গোলং শিখুন। \n ' )

//প্রথম স্ট্রিং ভেরিয়েবল সংজ্ঞায়িত করুন
ছিল str1 = 'গোলাং প্রোগ্রামিং।'

// একটি নতুন লাইন ছাড়া ভেরিয়েবল প্রিন্ট করুন
fmt . Printf ( '%s শিখুন' , str1 )

// দ্বিতীয় স্ট্রিং ভেরিয়েবল সংজ্ঞায়িত করুন
ছিল str2 = 'শেখা সহজ.'

// একটি নতুন লাইন দিয়ে ভেরিয়েবল প্রিন্ট করুন
fmt . Println ( 'এইটা' , str2 )
}

উপরের স্ক্রিপ্টটি কার্যকর করার পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে। দুটি সংযুক্ত স্ট্রিংয়ের আউটপুট এখানে মুদ্রিত হয়।

  p2

উপরে যান


স্ট্রিং থেকে Golang int

দ্য strconv.choke() এবং strconv.FormatInt() ফাংশন গোলং-এ পূর্ণসংখ্যাকে একটি স্ট্রিং মান রূপান্তর করতে ব্যবহার করা যেতে পারে। দ্য strconv.choke() পূর্ণসংখ্যার মানকে সংখ্যার একটি স্ট্রিংয়ে রূপান্তর করতে ব্যবহৃত হয়। দ্য strconv.FormatInt() ফাংশনটি দশমিক-ভিত্তিক পূর্ণসংখ্যার মানকে স্ট্রিংয়ে রূপান্তর করতে ব্যবহৃত হয়। নিম্নলিখিত স্ক্রিপ্টের সাথে একটি গোলং ফাইল তৈরি করুন যা উপরে উল্লিখিত ফাংশনগুলি ব্যবহার করে গোলং-এ পূর্ণসংখ্যাকে একটি স্ট্রিংয়ে রূপান্তর করার উপায় দেখায়। ব্যবহারকারীর কাছ থেকে একটি সংখ্যা নেওয়া হবে এবং সংখ্যাটির সংশ্লিষ্ট স্ট্রিং মান আউটপুট হিসাবে প্রিন্ট করা হবে।

// প্রধান প্যাকেজ যোগ করুন
প্যাকেজ প্রধান
//fmt এবং strconv প্যাকেজ আমদানি করুন
আমদানি (
'fmt'
'strconv'
)

// প্রধান ফাংশন সংজ্ঞায়িত করুন
ফাংশন প্রধান () {

// একটি পূর্ণসংখ্যা পরিবর্তনশীল ঘোষণা করুন
ছিল n int
//একটি বার্তা প্রিন্ট করুন
fmt . Printf ( 'একটি নম্বর লিখুন:' )
// ব্যবহারকারীর কাছ থেকে ইনপুট নিন
fmt . স্ক্যান ( এবং n )

// Itoa() ফাংশন ব্যবহার করে পূর্ণসংখ্যাকে স্ট্রিংয়ে রূপান্তর করুন
রূপান্তর ১ := strconv . নিমজ্জিত ( n )
fmt . Printf ( 'Itoa(): %s ব্যবহার করে পূর্ণসংখ্যাকে স্ট্রিংয়ে রূপান্তর করা হচ্ছে \n ' , রূপান্তর ১ )

// FormatInt() ফাংশন ব্যবহার করে পূর্ণসংখ্যাকে স্ট্রিংয়ে রূপান্তর করুন
রূপান্তর2 := strconv . FormatInt ( int64 ( n ), 10 )
fmt . Printf ( 'FormatInt(): %s ব্যবহার করে পূর্ণসংখ্যাকে স্ট্রিংয়ে রূপান্তর করা হচ্ছে \n ' , রূপান্তর2 )
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। সংখ্যা. 45 কে স্ট্রিং এ রূপান্তর করা হয়েছে। '45'।

  p3

উপরে যান


Golang স্ট্রিং int

দ্য strconv.Atoi() গোলং-এ স্ট্রিংকে পূর্ণসংখ্যায় রূপান্তর করতে ফাংশন ব্যবহার করা হয়। এটি একটি স্ট্রিং মান নেয় যা একটি পূর্ণসংখ্যাতে রূপান্তরিত হবে এবং দুটি ধরণের মান প্রদান করবে। কথোপকথন সফল হলে একটি মান হল পূর্ণসংখ্যা এবং অন্যথায় কথোপকথন ব্যর্থ হলে অন্য মান হল ত্রুটি শূন্য মান ফেরত দেওয়া হবে। নিম্নলিখিত স্ক্রিপ্ট সহ একটি গোলং ফাইল তৈরি করুন যা ব্যবহার করে অনেকগুলি স্ট্রিং মানকে একটি পূর্ণসংখ্যাতে রূপান্তর করবে strconv.Atoi() ফাংশন স্ট্রিং মান, '342' 342 নম্বরে রূপান্তরিত হবে এবং কার্যকর করার পরে প্রিন্ট করা হবে।

// প্রধান প্যাকেজ যোগ করুন
প্যাকেজ প্রধান
//fmt এবং strconv প্যাকেজ আমদানি করুন
আমদানি (
'fmt'
'strconv'
)

// প্রধান ফাংশন সংজ্ঞায়িত করুন
ফাংশন প্রধান () {

// একটি স্ট্রিং ভেরিয়েবল ঘোষণা করুন
str := '342'

// Atoi() ফাংশন ব্যবহার করে স্ট্রিংকে পূর্ণসংখ্যাতে রূপান্তর করুন
মূল্য , ভুল := strconv . লতা ( str )

// ত্রুটি পরীক্ষা করুন
যদি ভুল == শূন্য {
// রূপান্তরিত মান প্রিন্ট করুন
fmt . Printf ( 'বইটির দাম %d \n ' , মূল্য )
} অন্য {
// ত্রুটি বার্তা প্রিন্ট করুন
fmt . Println ( ভুল )
}
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। স্ট্রিং মান, “342” এখানে 342-এ রূপান্তরিত হয়েছে।

  p4

উপরে যান


গোলং স্ট্রিং সংযোগ

নিম্নলিখিত স্ক্রিপ্টের সাথে একটি গোলং ফাইল তৈরি করুন যা Printf() ফাংশন ব্যবহার করে ‘+’ অপারেটরের সাথে স্ট্রিংগুলিকে সংযুক্ত করবে। Println() ফাংশনটি এখানে '+' অপারেটর ব্যবহার করে সংযুক্ত স্ট্রিং মান প্রিন্ট করার জন্য ব্যবহার করা হয়েছে এবং '%s' স্পেসিফায়ার ব্যবহার করে সংযুক্ত স্ট্রিং মান প্রিন্ট করতে Printf() ফাংশন এখানে ব্যবহার করা হয়েছে। স্ক্রিপ্টে দুটি স্ট্রিং ভেরিয়েবল ঘোষণা করা হয়েছে যা পরে সংযুক্ত করা হয়েছে।

// প্রধান প্যাকেজ যোগ করুন
প্যাকেজ প্রধান
//আউটপুট প্রিন্ট করতে fmt প্যাকেজ আমদানি করুন
আমদানি 'fmt'

// প্রধান ফাংশন সংজ্ঞায়িত করুন
ফাংশন প্রধান () {

// দুটি স্ট্রিং ভেরিয়েবল ঘোষণা করুন
ছিল str1 , str2 স্ট্রিং

// স্ট্রিং মান বরাদ্দ করুন
str1 = 'গোলান'
str2 = 'প্রোগ্রামিং'

// '+' অপারেটর ব্যবহার করে স্ট্রিং সংযুক্ত করা
fmt . Println ( ''+' অপারেটর ব্যবহার করে সংযুক্ত স্ট্রিং মান:' , str1 + str2 )
// '%s' স্পেসিফায়ার ব্যবহার করে স্ট্রিং সংযুক্ত করা হচ্ছে
fmt . Printf ( 'ফরম্যাট স্পেসিফায়ার ব্যবহার করে সংযুক্ত স্ট্রিং মান: %s%s \n ' , str1 , str2 )
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p5

উপরে যান


গোলং মাল্টি-লাইন স্ট্রিং

গোলং স্ক্রিপ্ট ব্যবহার করে মাল্টি-লাইন টেক্সট প্রিন্ট করার জন্য নিম্নলিখিত উদাহরণে তিনটি ভিন্ন উপায় দেখানো হয়েছে। মাল্টি-লাইন টেক্সট তৈরি করতে প্রথম স্ট্রিং ভেরিয়েবলে '\n' অক্ষর ব্যবহার করা হয়েছে। মাল্টি-লাইন টেক্সট প্রিন্ট করতে দ্বিতীয় স্ট্রিং-এ ব্যাকটিক্স (`) ব্যবহার করা হয়েছে। মাল্টি-লাইন টেক্সট প্রিন্ট করতে তৃতীয় স্ট্রিং-এ স্পেসিফায়ার সহ ব্যাকটিক্স (`) ব্যবহার করা হয়েছে।

প্যাকেজ প্রধান
//fmt প্যাকেজ আমদানি করুন
আমদানি 'fmt'

// প্রধান ফাংশন সংজ্ঞায়িত করুন
ফাংশন প্রধান () {

// '\n' অক্ষর সহ একটি বহু-লাইন স্ট্রিং মান ঘোষণা করুন
str1 := 'গোলাং প্রোগ্রামিং খুব সহজ \n শিখতে. \n \n '
fmt . Printf ( str1 )

//ব্যাকটিক্স(`) সহ একটি মাল্টি-লাইন স্ট্রিং মান ঘোষণা করুন
str2 := `শিখুন
গোলং
থেকে
লিনাক্স হিন্ট
ব্লগ।'

fmt . Printf ( '%s \n \n ' , str2 )

// দুটি স্ট্রিং মান ঘোষণা করুন
ভাষা := 'গোলান'
বিকাশকারী := 'গুগল'
//ভেরিয়েবল এবং ব্যাকটিক্স সহ একটি স্ট্রিং মান ঘোষণা করুন
str3 := `%s
হয়
উন্নত
দ্বারা
%s.`

fmt . Printf ( str3 , ভাষা , বিকাশকারী )
// একটি নতুন লাইন যোগ করুন
fmt . Println ()
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। মাল্টি-লাইন স্ট্রিং মান ধারণকারী তিনটি স্ট্রিং ভেরিয়েবলের আউটপুট এখানে প্রিন্ট করা হয়েছে।

  p6

উপরে যান


গোলং বিভক্ত স্ট্রিং

strings.Split() ফাংশনটি বিভাজকের উপর ভিত্তি করে স্ট্রিং ডেটা বিভক্ত করতে ব্যবহার করা হয়েছে। নিম্নলিখিত স্ক্রিপ্টটি ব্যবহারকারীর কাছ থেকে একটি স্ট্রিং মান নেবে এবং কোলন(:) এর উপর ভিত্তি করে স্ট্রিং মানকে বিভক্ত করবে। বিভক্ত মানের মোট সংখ্যা এবং প্রথম দুটি বিভক্ত মান সম্পাদনের পরে মুদ্রিত হবে।

প্যাকেজ প্রধান
//fmt এবং স্ট্রিং প্যাকেজ আমদানি করুন
আমদানি (
'fmt'
'স্ট্রিং'
)

// প্রধান ফাংশন সংজ্ঞায়িত করুন
ফাংশন প্রধান () {

// একটি স্ট্রিং ভেরিয়েবল ঘোষণা করুন
ছিল str স্ট্রিং
// একটি প্রম্পট বার্তা প্রিন্ট করুন
fmt . Printf ( 'কোলন দিয়ে একটি স্ট্রিং লিখুন(:)-' )
// ব্যবহারকারীর কাছ থেকে ইনপুট নিন
fmt . স্ক্যান ( এবং str )

// বিভাজক সংজ্ঞায়িত করুন
বিভাজক := ':'
//স্ট্রিং মান বিভক্ত করুন
বিভক্ত_মান := স্ট্রিং . বিভক্ত ( str , বিভাজক )
// বিভক্ত মানের সংখ্যা গণনা করুন
দৈর্ঘ্য := কেবল ( বিভক্ত_মান )

// বিভক্ত মানের সংখ্যা প্রিন্ট করুন
fmt . Printf ( 'বিভক্ত মানের মোট সংখ্যা হল %d৷ \n ' , দৈর্ঘ্য )
// বিভক্ত মান প্রিন্ট করুন
fmt . Println ( 'প্রথম বিভক্ত মান হল' , বিভক্ত_মান [ 0 ])
fmt . Println ( 'দ্বিতীয় বিভক্ত মান হল' , বিভক্ত_মান [ 1 ])
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। ইনপুট মান, 'golang:google' কোলন(:) এর উপর ভিত্তি করে দুটি ভাগে বিভক্ত করা হয়েছে।

  p7

উপরে যান


গোলং স্প্রিন্টফ

Sprintf() ফাংশনটি অন্যান্য স্ট্যান্ডার্ড প্রোগ্রামিং ভাষার মতো একটি ভেরিয়েবলে ফরম্যাট করা স্ট্রিং মান সংরক্ষণ করতে গোলং-এ ব্যবহৃত হয়। নিম্নলিখিত স্ক্রিপ্টে একটি স্ট্রিং এবং একটি পূর্ণসংখ্যা ভেরিয়েবল ঘোষণা করা হয়েছে। Sprintf() ফাংশন ব্যবহার করে এই ভেরিয়েবলের মানগুলিকে একটি ভেরিয়েবলে ফরম্যাট করা হয়েছে এবং সংরক্ষণ করা হয়েছে।

প্যাকেজ প্রধান
//fmt প্যাকেজ আমদানি করুন
আমদানি 'fmt'

// প্রধান ফাংশন সংজ্ঞায়িত করুন
ফাংশন প্রধান () {

// দুটি ভেরিয়েবল ঘোষণা করুন
ছিল str স্ট্রিং
ছিল একের উপর int

// স্ট্রিং মান বরাদ্দ করুন
str = 'গোলান'
// নম্বর মান বরাদ্দ করুন
একের উপর = 2012

// একটি ভেরিয়েবলে সম্মিলিত স্ট্রিং মান সংরক্ষণ করুন
combined_str := fmt . স্প্রিন্টফ ( '%s-এর প্রথম সংস্করণ %d-এ প্রকাশিত হয়েছে।' , str , একের উপর )
//ভেরিয়েবল প্রিন্ট করুন
fmt . Printf ( 'Sprintf( এর আউটপুট): \n %s \n ' , combined_str )
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p8

উপরে যান


গোলং এনাম

গোলাং-এ enum বা গণনাকারী ব্যবহার করা হয়েছে সম্পর্কিত ধ্রুবক মানের একটি গ্রুপের ডেটা টাইপ ঘোষণা করতে। গোলং-এ enum টাইপের ঘোষণা অন্যান্য প্রোগ্রামিং ভাষার থেকে আলাদা। 12 মানের একটি enum প্রকার ঘোষণা করা হয়েছে এবং নির্দিষ্ট enum মানের সাংখ্যিক মান পরে মুদ্রিত হয়েছে।

প্যাকেজ প্রধান
//fmt প্যাকেজ আমদানি করুন
আমদানি 'fmt'

// মাসের মান সংরক্ষনের জন্য প্রকার ঘোষণা করুন (1-12)
টাইপ মাস int

//1 থেকে শুরু করে প্রতি মাসের মানের জন্য ধ্রুবক ঘোষণা করুন
const (
জান মাস = iota + 1
ফেব্রুয়ারী
মার
এপ্রিল
মে
জুন
জুল
অগাস্ট
সেপ্টেম্বর
অক্টো
নভেম্বর
ডিসেম্বর
)

// প্রধান ফাংশন ঘোষণা করুন
ফাংশন প্রধান () {
//এক মাসের মান সহ পরিবর্তনশীল ঘোষণা করুন
ছিল M_num = মে
// মাসের সংশ্লিষ্ট সংখ্যার মান প্রিন্ট করুন
fmt . Println ( 'সংখ্যায় মাসের মান হল' , M_num )
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। মে এর অনুরূপ সাংখ্যিক মান হল 5।

  p9

উপরে যান


গোলং কাঠামো

বিভিন্ন ধরনের ভেরিয়েবল ধারণ করে এমন একটি টাইপ ঘোষণা করতে গোলং-এ স্ট্রাকচার বা কাঠামো ব্যবহার করা হয়। এটি ট্যাবুলার ডেটা বা একাধিক রেকর্ড সংরক্ষণের জন্য দরকারী। নিম্নলিখিত স্ক্রিপ্টে, চারটি উপাদানের একটি কাঠামো পরিবর্তনশীল ঘোষণা করা হয়েছে। পরবর্তীতে, সংজ্ঞায়িত স্ট্রাকট ভেরিয়েবল ব্যবহার করে দুটি রেকর্ড যোগ করা হয়েছে। স্ক্রিপ্টের শেষ অংশে বিভিন্ন উপায়ে স্ট্রাকটের মান প্রিন্ট করার উপায় দেখানো হয়েছে।

প্যাকেজ প্রধান
//এফএমটি প্যাকেজ আমদানি করুন
আমদানি 'fmt'

//চারটি উপাদানের গঠন সংজ্ঞায়িত করুন
টাইপ পণ্য গঠন {
আইডি স্ট্রিং
নাম স্ট্রিং
আকার স্ট্রিং
মূল্য int
}

ফাংশন প্রধান () {

//প্রথম গঠন পরিবর্তনশীল ঘোষণা করুন
পণ্য1 := পণ্য { 'p-1209' , 'এইচডিডি' , '5TB' , 80 }
// দ্বিতীয় কাঠামো পরিবর্তনশীল ঘোষণা করুন
পণ্য2 := পণ্য { 'p-7342' , 'মাউস' , '' , পনের }

// স্ট্রাকচার ভেরিয়েবল প্রিন্ট করুন
fmt . Println ( 'প্রথম পণ্য:' , পণ্য1 )
fmt . Println ( 'দ্বিতীয় পণ্য:' , পণ্য2 )

//প্রথম স্ট্রাকচার ভেরিয়েবলের চারটি মান আলাদাভাবে প্রিন্ট করুন
fmt . Println ( 'প্রথম পণ্যের বিবরণ:' )
fmt . Println ( 'আইডি:' , পণ্য1 . আইডি )
fmt . Println ( 'নাম:' , পণ্য1 . নাম )
fmt . Println ( 'আকার:' , পণ্য1 . আকার )
fmt . Println ( 'মূল্য:' , পণ্য1 . মূল্য )
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p10

উপরে যান


গোলান অ্যারে

অন্যান্য স্ট্যান্ডার্ড প্রোগ্রামিং ভাষার মতো নির্দিষ্ট ডেটা টাইপের একাধিক মান সংরক্ষণ করতে গোলং-এ অ্যারে ভেরিয়েবল ব্যবহার করা হয়। স্ক্রিপ্টে স্ট্রিং মান এবং সাংখ্যিক মানগুলির একটি অ্যারে ঘোষণা এবং অ্যাক্সেস করার উপায় দেখানো হয়েছে।

প্যাকেজ প্রধান
//এফএমটি প্যাকেজ আমদানি করুন
আমদানি 'fmt'

ফাংশন প্রধান () {

// স্ট্রিং মানগুলির একটি অ্যারে ঘোষণা করুন
str_arr := [ 4 ] স্ট্রিং { 'গুগল কম' , 'ask.com' , 'bing.com' , 'you.com' }
// স্ট্রিং এর অ্যারে প্রিন্ট করুন
fmt . Println ( 'স্ট্রিং অ্যারে মান হল: ' , str_arr )
// অ্যারের 3য় উপাদান প্রিন্ট করুন
fmt . Println ( 'অ্যারের 3য় মান হল' , str_arr [ 2 ])

// সাংখ্যিক মানের একটি অ্যারে ঘোষণা করুন
int_arr := [ 6 ] int { 65 , 3. 4 , 12 , 81 , 52 , 70 }
// পূর্ণসংখ্যার অ্যারে প্রিন্ট করুন
fmt . Println ( 'পূর্ণসংখ্যা অ্যারে মান হল: ' , int_arr )
// অ্যারের ৪র্থ উপাদান প্রিন্ট করুন
fmt . Println ( 'অ্যারের 4র্থ মান হল' , int_arr [ 3 ])
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p11

উপরে যান


গোলং সেট

সেট হল স্বতন্ত্র মানের সংগ্রহ সঞ্চয় করার জন্য গোলং-এর আরেকটি ডেটা স্ট্রাকচার। এটি একটি বস্তুতে অনন্য মান সংরক্ষণ করতে ব্যবহৃত হয়। অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজের মতো গোলং-এর কোনো বিল্ট-ইন সেট ডেটা স্ট্রাকচার নেই। কিন্তু এই বৈশিষ্ট্যটি খালি struct{} এবং মানচিত্র ব্যবহার করে প্রয়োগ করা যেতে পারে। নিম্নলিখিত স্ক্রিপ্টে, খালি স্ট্রাকট সহ একটি মানচিত্র ব্যবহার করে স্ট্রিংগুলির একটি সেট পরিবর্তনশীল ঘোষণা করা হয়েছে। এরপরে, তিনটি মান যোগ করা হয়েছে, একটি মান মুছে ফেলা হয়েছে, এবং সেটটিতে আবার একটি মান যুক্ত করা হয়েছে। সেটের মান একসাথে এবং আলাদাভাবে প্রিন্ট করা হয়েছে।

প্যাকেজ প্রধান
//এফএমটি প্যাকেজ আমদানি করুন
আমদানি 'fmt'

ফাংশন প্রধান () {
// স্ট্রিংগুলির একটি সেট সংজ্ঞায়িত করুন
শুধু := মানচিত্র [ স্ট্রিং ] গঠন {}{}
// একটি খালি কাঠামো ব্যবহার করে সেটে তিনটি উপাদান সন্নিবেশ করান
শুধু [ 'যাওয়া' ] = গঠন {}{}
শুধু [ 'ব্যাশ' ] = গঠন {}{}
শুধু [ 'পাইথন' ] = গঠন {}{}

//সেটের বর্তমান বিদ্যমান উপাদানগুলি মুদ্রণ করুন
fmt . Println ( শুধু )

//সেট থেকে একটি উপাদান সরান
মুছে ফেলা ( শুধু , 'পাইথন' )

// সেটে একটি নতুন উপাদান যোগ করুন
শুধু [ 'জাভা' ] = গঠন {}{}

// একটি উপাদান অপসারণ এবং যোগ করার পরে সেট মান মুদ্রণ করুন
fmt . Println ( শুধু )

fmt . Printf ( ' \n সেট মান হল: \n ' )
// সেটের প্রতিটি উপাদান আলাদাভাবে প্রিন্ট করুন
জন্য l := পরিসীমা শুধু {
fmt . Println ( l )
}
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p12

উপরে যান


লুপের জন্য গোলং

গোলং-এর জন্য লুপ বিভিন্ন উপায়ে এবং বিভিন্ন উদ্দেশ্যে ব্যবহার করা যেতে পারে। লুপের জন্য তিনটি এক্সপ্রেশনের ব্যবহার নিম্নলিখিত স্ক্রিপ্টে দেখানো হয়েছে। 5টি ইনপুট মান নিতে লুপটি 5 বার পুনরাবৃত্তি করা হবে এবং এই ইনপুট মানগুলির যোগফল পরে প্রিন্ট করা হবে।

প্যাকেজ প্রধান
//এফএমটি প্যাকেজ আমদানি করুন
আমদানি 'fmt'

ফাংশন প্রধান () {

// একটি পূর্ণসংখ্যা পরিবর্তনশীল ঘোষণা করুন
ছিল সংখ্যা int
// যোগফলের মান সংরক্ষণ করার জন্য একটি পরিবর্তনশীল ঘোষণা করুন
ছিল যোগফল = 0
// লুপের জন্য একটি সংজ্ঞায়িত করুন
জন্য n := 1 ; n < = 5 ; n ++ {
// একটি প্রম্পট বার্তা প্রিন্ট করুন
fmt . Printf ( 'একটি নম্বর লিখুন:' )
// ব্যবহারকারীর কাছ থেকে ইনপুট নিন
fmt . স্ক্যান ( এবং সংখ্যা )
// যোগফল ভেরিয়েবলের সাথে ইনপুট নম্বর যোগ করুন
যোগফল = যোগফল + সংখ্যা
}
// সমষ্টির ফলাফল প্রিন্ট করুন
fmt . Printf ( 'পাঁচটি ইনপুট মানের সমষ্টি হল %d৷ \n ' , যোগফল )

}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। 6, 3, 4, 7, এবং 9 এর যোগফল 29।

  p13

উপরে যান


পরিসীমা জন্য Golang

স্ট্রিং, অ্যারে এবং মানচিত্র অ্যাক্সেস করতে গোলং-এর জন্য লুপের সাথে পরিসরটি ব্যবহার করা হয়। রেঞ্জ সহ একটি ফর লুপ ব্যবহার করে স্ট্রিংগুলির অ্যারে অ্যাক্সেস করার উপায় নিম্নলিখিত স্ক্রিপ্টে দেখানো হয়েছে। লুপের জন্য প্রথমটি কেবল অ্যারের মানগুলি প্রিন্ট করবে এবং লুপের জন্য দ্বিতীয়টি অ্যারের সূচী এবং মানগুলি প্রিন্ট করবে।

প্যাকেজ প্রধান
//এফএমটি প্যাকেজ আমদানি করুন
আমদানি 'fmt'

ফাংশন প্রধান () {

// স্ট্রিং এর একটি অ্যারে ঘোষণা করুন
ফুল := [ 4 ] স্ট্রিং { 'গোলাপ' , 'লিলি' , 'ডালিয়া' , 'সূর্য ফুল' }

fmt . Println ( 'অ্যারের মান হল:' )
// অ্যারের মান প্রিন্ট করুন
জন্য _ , ভাল := পরিসীমা ফুল {
fmt . Println ( ভাল )
}

fmt . Println ( 'অ্যারে সূচক এবং মান হল:' )
// সূচকের উপর ভিত্তি করে অ্যারের মান মুদ্রণ করুন
জন্য ভিতরে , ভাল := পরিসীমা ফুল {
fmt . Printf ( '%d := %s \n ' , ভিতরে + 1 , ভাল )
}
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p14

উপরে যান


গোলং যখন লুপ

অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজের মতো গোল্যাং-এর কোনো সময় লুপ নেই। যাইহোক, while লুপের বৈশিষ্ট্যটি ফর লুপ ব্যবহার করে গোলং-এ প্রয়োগ করা যেতে পারে। একটি ফর লুপ ব্যবহার করে একটি while লুপ বাস্তবায়নের উপায় নিম্নলিখিত স্ক্রিপ্টে দেখানো হয়েছে। ফর লুপটি 4 বার পুনরাবৃত্তি করা হবে এবং চারটি সংখ্যা নেবে। ভগ্নাংশের মান সহ এই সংখ্যাগুলির যোগফল পরে মুদ্রিত হবে।

প্যাকেজ প্রধান
//এফএমটি প্যাকেজ আমদানি করুন
আমদানি 'fmt'


ফাংশন প্রধান () {
পাল্টা := 1
যোগফল := 0 . 0
ছিল সংখ্যা float64
জন্য পাল্টা < = 4 {
// একটি প্রম্পট বার্তা প্রিন্ট করুন
fmt . Printf ( 'একটি নম্বর লিখুন:' )
// ব্যবহারকারীর কাছ থেকে ইনপুট নিন
fmt . স্ক্যান ( এবং সংখ্যা )
// যোগফল ভেরিয়েবলের সাথে ইনপুট নম্বর যোগ করুন
যোগফল = যোগফল + সংখ্যা
// কাউন্টারটি 1 দ্বারা বৃদ্ধি করুন
পাল্টা ++
}
//সমষ্টির ফলাফল প্রিন্ট করুন
fmt . Printf ( 'চারটি ইনপুট মানের সমষ্টি হল %0.2f৷ \n ' , যোগফল )
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। 6.8, 3.2, 8.5 এবং 4.9 এর যোগফল হল 23.40।

  p15

উপরে যান


গোলং চালিয়ে যান

কন্ডিশনের উপর ভিত্তি করে নির্দিষ্ট স্টেটমেন্ট বাদ দিতে যেকোন লুপে কন্টিনিউ স্টেটমেন্ট ব্যবহার করা হয়। নিম্নলিখিত স্ক্রিপ্টে, লুপটি পুনরাবৃত্তি করার জন্য for লুপ ব্যবহার করা হয়েছে যা কন্টিনিউ স্টেটমেন্ট ব্যবহার করে অ্যারের 2য় এবং চতুর্থ মানের মান বাদ দেবে।

প্যাকেজ প্রধান
//এফএমটি প্যাকেজ আমদানি করুন
আমদানি 'fmt'


ফাংশন প্রধান () {
পাল্টা := 1
যোগফল := 0 . 0
ছিল সংখ্যা float64
জন্য পাল্টা < = 4 {
// একটি প্রম্পট বার্তা প্রিন্ট করুন
fmt . Printf ( 'একটি নম্বর লিখুন:' )
// ব্যবহারকারীর কাছ থেকে ইনপুট নিন
fmt . স্ক্যান ( এবং সংখ্যা )
// যোগফল ভেরিয়েবলের সাথে ইনপুট নম্বর যোগ করুন
যোগফল = যোগফল + সংখ্যা
// কাউন্টারটি 1 দ্বারা বৃদ্ধি করুন
পাল্টা ++
}
//সমষ্টির ফলাফল প্রিন্ট করুন
fmt . Printf ( 'চারটি ইনপুট মানের সমষ্টি হল %0.2f৷ \n ' , যোগফল )
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p16

উপরে যান


গোলং সুইচ কেস

গোলং-এর সুইচ-কেস স্টেটমেন্ট অন্যান্য প্রোগ্রামিং ভাষার মতই কিন্তু গোলং-এর প্রতিটি কেস স্টেটমেন্টের সাথে কোন বিরতি বিবৃতির প্রয়োজন নেই। সুইচ ব্লকের ভিতরে একাধিক কেস মান সংজ্ঞায়িত করার উপায় নিম্নলিখিত উদাহরণে দেখানো হয়েছে।

প্যাকেজ প্রধান
//এফএমটি প্যাকেজ আমদানি করুন
আমদানি 'fmt'

ফাংশন প্রধান () {

ছিল n int
// একটি প্রম্পট বার্তা প্রিন্ট করুন
fmt . Printf ( 'সংখ্যায় মাসের মান লিখুন: ' )
// ব্যবহারকারীর কাছ থেকে ইনপুট নিন
fmt . স্ক্যান ( এবং n )

// ম্যাচিং কেস ভ্যালুর উপর ভিত্তি করে বার্তা প্রিন্ট করুন
সুইচ n {
মামলা 1 , 2 , 3 , 4 :
fmt . Println ( 'শীতকালীন সেমিস্টার।' )

মামলা 5 , 6 , 7 , 8 :
fmt . Println ( 'গ্রীষ্মকালীন সেমিস্টার।' )

মামলা 9 , 10 , এগারো , 12 :
fmt . Println ( 'পতন সেমিস্টার।' )

ডিফল্ট :
fmt . Println ( 'মাসের মান পরিসীমার বাইরে।' )
}
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p17

উপরে যান


গোলং এলোমেলো নম্বর

এলোমেলো সংখ্যা তৈরি করতে গোলং-এ গণিত/র্যান্ড প্যাকেজ ব্যবহার করা হয়েছে। চার ধরনের র‍্যান্ডম সংখ্যা তৈরির উপায় নিচের স্ক্রিপ্টে দেখানো হয়েছে। rand.Int() ফাংশনটি একটি দীর্ঘ পূর্ণসংখ্যা র্যান্ডম সংখ্যা তৈরি করতে ব্যবহৃত হয়। rand.Intn(n) ফাংশনটি নির্দিষ্ট পরিসরের একটি পূর্ণসংখ্যা র্যান্ডম সংখ্যা তৈরি করতে ব্যবহৃত হয় এবং সর্বোচ্চ মানটি ফাংশনের আর্গুমেন্ট মান হিসাবে পাস করা হবে। স্ক্রিপ্টে আর্গুমেন্ট মান হিসেবে 999 সেট করা আছে। rand.Float32() ফাংশনটি একটি ছোট ভগ্নাংশ র্যান্ডম সংখ্যা তৈরি করতে ব্যবহৃত হয় এবং rand.Float64() ফাংশনটি একটি দীর্ঘ ভগ্নাংশ র্যান্ডম সংখ্যা তৈরি করতে ব্যবহৃত হয়।

// প্রধান প্যাকেজ যোগ করুন
প্যাকেজ প্রধান
// প্রয়োজনীয় মডিউল আমদানি করুন
আমদানি (
'fmt'
'সময়'
'গণিত/র্যান্ড'
)

ফাংশন প্রধান () {
//এলোমেলো সংখ্যা তৈরি করতে বীজ সেট করুন
রান্ড . বীজ ( সময় . এখন () . ইউনিক্স ন্যানো ())
// প্রিন্ট জেনারেটেড র্যান্ডম পূর্ণসংখ্যা
fmt . Println ( 'এলোমেলো পূর্ণসংখ্যার মান:' , রান্ড . int ())
// 999 এর মধ্যে এলোমেলো পূর্ণসংখ্যা মুদ্রণ করুন
fmt . Println ( 'পরিসীমা সহ র্যান্ডম পূর্ণসংখ্যার মান: ' , রান্ড . int ( 999 ))
// র্যান্ডম 32 বিট ফ্লোট প্রিন্ট করুন
fmt . Println ( 'র্যান্ডম 32 বিট ফ্লোট মান:' , রান্ড . ফ্লোট32 ())
// র্যান্ডম 64 বিট ফ্লোট প্রিন্ট করুন
fmt . Println ( 'র্যান্ডম 64 বিট ফ্লোট মান:' , রান্ড . Float64 ())
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p18

উপরে যান


গোলং ঘুম

একটি নির্দিষ্ট সময়ের জন্য স্ক্রিপ্টের সম্পাদনকে বিরতি দিতে গোলং-এ time.Sleep() ফাংশন ব্যবহার করা হয়। নিম্নলিখিত স্ক্রিপ্টটি তিনটি সংখ্যার গড় গণনা করবে এবং স্ক্রিপ্টটি বন্ধ করার আগে 3 সেকেন্ডের জন্য অপেক্ষা করবে।

// প্রধান প্যাকেজ যোগ করুন
প্যাকেজ প্রধান
// প্রয়োজনীয় প্যাকেজ আমদানি করুন
আমদানি (
'fmt'
'সময়'
)
ফাংশন প্রধান () {

fmt . Println ( 'স্ক্রিপ্ট চালানো শুরু করুন...' )
// তিনটি ভেরিয়েবল সংজ্ঞায়িত করুন
:= 40
:= 30
:= 29
//ভেরিয়েবল প্রিন্ট করুন
fmt . Printf ( 'তিনটি সংখ্যা হল: %d, %d, %d \n ' , , , )
fmt . Println ( 'তিনটি সংখ্যার গড় গণনা করা হচ্ছে...' )
গড় := ( + + ) / 3
//3 সেকেন্ডের জন্য বিলম্ব করুন
সময় . ঘুম ( 3 * সময় . দ্বিতীয় )
// ফলাফল প্রিন্ট করুন
fmt . Printf ( 'গড় মান হল %d৷ \n ' , গড় )
fmt . Println ( 'প্রোগ্রাম বন্ধ করা হয়েছে।' )
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p19

উপরে যান


সুবর্ণ সময়

বর্তমান তারিখ এবং সময় পড়ার জন্য গোলং-এ টাইম প্যাকেজ ব্যবহার করা হয়। এই প্যাকেজটিতে বিভিন্ন উপায়ে তারিখ এবং সময় পড়ার জন্য অনেকগুলি পদ্ধতি এবং বৈশিষ্ট্য রয়েছে। তারিখ এবং সময়, 'Mon Jan 2 15:04:05 -0700 MST 2006' তারিখ এবং সময় অ্যাক্সেস করার জন্য গোলং-এ রেফারেন্স মান হিসাবে ব্যবহৃত হয়। টাইম প্যাকেজের ব্যবহার নিম্নলিখিত উদাহরণে দেখানো হয়েছে।

প্যাকেজ প্রধান
// প্রয়োজনীয় প্যাকেজ আমদানি করুন
আমদানি (
'fmt'
'সময়'
)

ফাংশন প্রধান () {
// বর্তমান তারিখ এবং সময় পড়ুন
আজ := সময় . এখন ()
//বর্তমান তারিখ প্রিন্ট করুন
fmt . Printf ( 'আজ %s. \n ' , আজ . বিন্যাস ( '02-জানুয়ারি-2006' ))
//বর্তমান তারিখ এবং সময় প্রিন্ট করুন
fmt . Printf ( 'বর্তমান তারিখ এবং সময় হল %s৷ \n ' , আজ . বিন্যাস ( সময় . RFC1123 ))
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

উপরে যান


গোলং ইউইড

ইউইউআইডি বা ইউনিভার্সলি ইউনিক আইডেন্টিফায়ার গোলং স্ক্রিপ্ট দ্বারা তৈরি করা যেতে পারে। কম্পিউটার সিস্টেম সনাক্ত করার জন্য এটি একটি 128-বিট অনন্য মান। আপনি থেকে uuid ডাউনলোড করতে হবে github.com/google/uuid নিম্নলিখিত স্ক্রিপ্ট চালানোর আগে।

হোম ডিরেক্টরিতে যান এবং Golang স্ক্রিপ্ট দ্বারা uuid তৈরি করতে প্রয়োজনীয় প্যাকেজ ডাউনলোড করতে নিম্নলিখিত কমান্ডগুলি চালান।

$ go mod init uuid
$ go go get github.com / গুগল / uuid

নিম্নলিখিত স্ক্রিপ্টে, uuid.New() ফাংশন ব্যবহার করে প্রথম uuid তৈরি করা হয় যা একটি অনন্য শনাক্তকারী প্রদান করে। দ্বিতীয় uuidটি uuid.NewUUID() ফাংশন দ্বারা তৈরি হয় যা দুটি মান প্রদান করে। মানটিতে অনন্য শনাক্তকারী থাকে এবং দ্বিতীয় মানটিতে ত্রুটি বার্তা থাকে যদি এটি বিদ্যমান থাকে।

প্যাকেজ প্রধান
// প্রয়োজনীয় প্যাকেজ আমদানি করুন
আমদানি (
'fmt'
'github.com/google/uuid'
)
ফাংশন প্রধান () {

// New() ফাংশন ব্যবহার করে একটি অনন্য আইডি তৈরি করুন
নতুন আইডি := uuid . নতুন ()
fmt . প্রিন্টফ ( 'প্রথম UUID তৈরি হয়েছে %s৷ \n ' , নতুন আইডি )

// NewUUID() ফাংশন ব্যবহার করে একটি অনন্য আইডি তৈরি করুন
নতুন আইডি , ভুল := uuid . নিউইউইউআইডি ()
// ত্রুটির জন্য চেক করুন
যদি ভুল == শূন্য {
fmt . প্রিন্টফ ( 'উত্পন্ন দ্বিতীয় UUID হল %s৷ \n ' , নতুন আইডি )
} অন্য {
fmt . Println ( ভুল )
}
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p21

উপরে যান


গোলং ফাইল পড়ে

দ্য io/ioutil একটি ফাইলের বিষয়বস্তু পড়ার জন্য গোলং-এর প্যাকেজ ব্যবহার করা হয়। এই প্যাকেজের ReadFile() ফাংশন একটি ফাইলের সম্পূর্ণ বিষয়বস্তু পড়ে। এই ফাংশনটি ফাইলের সম্পূর্ণ বিষয়বস্তুকে একটি ভেরিয়েবলে ফিরিয়ে দেয় যদি ফাইলটি বিদ্যমান থাকে অন্যথায় একটি ত্রুটি বার্তা ফেরত দেওয়া হবে। একটি বিদ্যমান টেক্সট ফাইলের সম্পূর্ণ বিষয়বস্তু পড়ার উপায় নিম্নলিখিত স্ক্রিপ্টে দেখানো হয়েছে।

// প্রধান প্যাকেজ যোগ করুন
প্যাকেজ প্রধান
// প্রয়োজনীয় প্যাকেজ আমদানি করুন
আমদানি (
'io/ioutil'
'fmt'
'লগ'
)

ফাংশন প্রধান () {

// একটি পাঠ্য ফাইল পড়ুন
পাঠ্য , ভুল := ioutil . ফাইল পড়া ( 'Languages.txt' )
// ত্রুটির জন্য চেক করুন
যদি ভুল == শূন্য {
fmt . প্রিন্টফ ( 'ফাইলের বিষয়বস্তু: \n \n ' )
fmt . Println ( স্ট্রিং ( পাঠ্য ))
} অন্য {
লগ . ফাটালফ ( 'ফাইল পড়ার ত্রুটি: %v' , ভুল )
}

}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p22

উপরে যান


গোলং ফাইল লাইন বাই লাইন পড়ে

গোলং এর 'বুফিও' প্যাকেজটি লাইন দ্বারা একটি ফাইল লাইনের বিষয়বস্তু পড়তে ব্যবহৃত হয়। নিম্নলিখিত স্ক্রিপ্টে, bufio.NewScanner() ফাইলটি পড়ার জন্য একটি বস্তু তৈরি করতে ব্যবহার করা হয়েছে। এর পরে, ফাইলের প্রতিটি লাইন পড়তে এবং মুদ্রণ করতে লুপের সাথে Scan() ফাংশন ব্যবহার করা হয়েছে।

// প্রধান প্যাকেজ যোগ করুন
প্যাকেজ প্রধান
// প্রয়োজনীয় প্যাকেজ আমদানি করুন
আমদানি (
'fmt'
'আপনি'
'বুফিও'
)
ফাংশন প্রধান () {

// পড়ার জন্য একটি টেক্সট ফাইল খুলুন
fh , ভুল := আপনি . খোলা ( 'Languages.txt' )
// ত্রুটির জন্য চেক করুন
যদি ভুল == শূন্য {
// ফাইলের বিষয়বস্তু স্ক্যান করুন
পড়া := বুফিও . নিউ স্ক্যানার ( fh )
// লাইন দ্বারা ফাইল লাইন পড়ুন
জন্য পড়া . স্ক্যান () {
fmt . Println ( পড়া . পাঠ্য ())
}
} অন্য {
fmt . Println ( ভুল )
}
// ফাইলটি বন্ধ করুন
বিলম্বিত করা fh . বন্ধ ()
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p23

উপরে যান


গোলং ফাইলে লিখুন

দ্য আপনি গোলং এর প্যাকেজটি লেখার জন্য একটি ফাইল খুলতে ব্যবহৃত হয় এবং WriteString() একটি ফাইলে বিষয়বস্তু লিখতে ফাংশন ব্যবহার করা হয়। তিনটি লাইনের একটি টেক্সট ফাইল তৈরি এবং লেখার উপায় হল ব্যবহার করে আপনি প্যাকেজ

প্যাকেজ প্রধান
// প্রয়োজনীয় প্যাকেজ আমদানি করুন
আমদানি (
'fmt'
'আপনি'
)

ফাংশন প্রধান () {

// লেখার জন্য একটি ফাইল খুলুন
fh , err1 := আপনি . সৃষ্টি ( 'items.txt' )
// ফাইল তৈরির ত্রুটির জন্য পরীক্ষা করুন
যদি err1 == শূন্য {
// ফাইলে লিখুন
_ , err2 := fh . WriteString ( 'কলম \n পেন্সিল \n শাসক \n ' )
// ফাইল লেখার ত্রুটি পরীক্ষা করুন
যদি err2 != শূন্য {
fmt . Println ( 'ফাইল লেখার ত্রুটি ঘটেছে৷ \n ' )
}
} অন্য {
fmt . Println ( 'ফাইল তৈরির ত্রুটি ঘটেছে৷ \n ' )
}
// ফাইলটি বন্ধ করুন
বিলম্বিত করা fh . বন্ধ ()
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। আউটপুট দেখায় যে items.txt ফাইলটি সফলভাবে তৈরি করা হয়েছে।

  p24

উপরে যান

গোলং ফাইল আছে কিনা তা পরীক্ষা করে

দ্য আপনি গোলং এর প্যাকেজ ফাইলের অস্তিত্ব পরীক্ষা করতে ব্যবহার করা যেতে পারে। নিম্নলিখিত স্ক্রিপ্টে, ফাইলের পথটি স্ক্রিপ্ট থেকে নেওয়া হবে। যদি পাথটি না থাকে তাহলে os.State() ফাংশন একটি রিটার্ন করবে os.ErrNotExist ত্রুটি.

প্যাকেজ প্রধান
// প্রয়োজনীয় মডিউল আমদানি করুন
আমদানি (
'ত্রুটি'
'fmt'
'আপনি'
)

ফাংশন প্রধান () {
ছিল ফাইল পাথ স্ট্রিং
fmt . প্রিন্টফ ( 'একটি বিদ্যমান ফাইলের নাম লিখুন: ' )
// ব্যবহারকারীর কাছ থেকে ফাইল পাথ নিন
fmt . স্ক্যান ( এবং ফাইল পাথ )
// ফাইল পাথ চেক করুন
_ , ত্রুটি := আপনি . স্ট্যাট ( ফাইল পাথ )

// os.Stat এর আউটপুট চেক করুন
যদি ! ত্রুটি . হয় ( ত্রুটি , আপনি . ErrNotExist ) {
fmt . Println ( 'ফাইল পাওয়া গেছে।' )
} অন্য {
fmt . Println ( 'ফাইল পাওয়া যায়নি।' )
}
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p25

উপরে যান


গোলান সিএসভি

দ্য 'এনকোডিং/সিএসভি' CSV ফাইলের বিষয়বস্তু পড়ার জন্য প্যাকেজটি গোলং-এ ব্যবহার করা হয়। দ্য csv.NewReader() CSV ফাইল পড়ার জন্য ফাংশন ব্যবহার করা হয়। এই উদাহরণের স্ক্রিপ্ট চালানোর আগে একটি CSV ফাইল তৈরি করুন। এখানে customers.csv ফাইলটি CSV ফাইল পড়ার উপায় দেখানোর জন্য ব্যবহার করা হয়েছে।

প্যাকেজ প্রধান
// প্রয়োজনীয় প্যাকেজ আমদানি করুন
আমদানি (
'এনকোডিং/সিএসভি'
'fmt'
'আপনি'
)

ফাংশন প্রধান () {
//পড়ার জন্য একটি CSV ফাইল খুলুন
fh , ভুল := আপনি . খোলা ( 'customers.csv' )
// ত্রুটির জন্য চেক করুন
যদি ভুল != শূন্য {
fmt . Println ( ভুল )
} অন্য {
//CSV ফাইলটি পড়ার জন্য একটি বস্তু তৈরি করুন
স্ক্যানার := csv . নিউরিডার ( fh )
//সিএসভি ফাইলের সমস্ত রেকর্ড পড়ুন
রেকর্ড , _ := স্ক্যানার . সব পড়া ()
// CSV ফাইল লাইন বাই লাইন পড়ুন
জন্য _ , r := পরিসীমা রেকর্ড {
জন্য _ , := পরিসীমা r {
fmt . Printf ( '%s,' , )
}
fmt . Println ()
}
}
// ফাইলটি বন্ধ করুন
বিলম্বিত করা fh . বন্ধ ()
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p26

উপরে যান


গোলং ইয়ামল

দ্য ইয়ামল মার্শাল() ইয়ামল ডেটার বিষয়বস্তু পড়ার জন্য গোলং-এ ফাংশন ব্যবহার করা হয়। আপনাকে ডাউনলোড করতে হবে ইয়ামল প্যাকেজ ব্যবহার করার জন্য ইয়ামল মার্শাল() . হোম ডিরেক্টরিতে যান এবং ডাউনলোড করতে নিম্নলিখিত কমান্ডটি চালান ইয়ামল প্যাকেজ

$ পেতে যান < href = 'http://gopkg.in/yaml.v2' > gopkg.in / yaml.v2 >

নিম্নলিখিত স্ক্রিপ্টে, চারটি উপাদানের একটি কাঠামো পরিবর্তনশীল ঘোষণা করা হয়েছে যা পরে ডেটা সহ একটি ইয়ামল অবজেক্টকে সংজ্ঞায়িত করতে ব্যবহার করা হয়েছে। এর পরে, yaml.Marshal() ফাংশনটি yaml ডেটা অ্যাক্সেস করতে ব্যবহার করা হয়েছে।

প্যাকেজ প্রধান
// প্রয়োজনীয় প্যাকেজ আমদানি করুন
আমদানি (
'fmt'
'gopkg.in/yaml.v2'
)

//4টি উপাদানের গঠন ঘোষণা করুন
টাইপ বই গঠন {
শিরোনাম স্ট্রিং
লেখক স্ট্রিং
প্রকাশনা স্ট্রিং
দাম স্ট্রিং
}

ফাংশন প্রধান () {

// কাঠামোর একটি বস্তু তৈরি করুন
বই 1 := বই {
শিরোনাম : 'লার্নিং গো' ,
লেখক : 'জন বোডনার' ,
প্রকাশনা : 'ওরেলি' ,
দাম : '$39' ,
}

// কাঠামোর উপর ভিত্তি করে ইয়ামল ডেটা পড়ুন
y_ডেটা , ভুল := ইয়ামল . মার্শাল ( &বই 1 )

//ত্রুটির জন্য চেক করুন
যদি ভুল == শূন্য {
//ইয়ামল ডেটা প্রিন্ট করুন
fmt . Println ( স্ট্রিং ( y_ডেটা ))
} অন্য {
fmt . Printf ( 'মার্শালিং করার সময় ত্রুটি৷ %v' , ভুল )
}
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p27

উপরে যান


Golang http অনুরোধ

দ্য নেট/http Golang প্যাকেজ একটি ওয়েবসাইটে http অনুরোধ পাঠাতে ব্যবহার করা হয়. অনুরোধ পাঠাতে http.Get() ফাংশন ব্যবহার করা হয়। এটি সাইট থেকে প্রতিক্রিয়া বা ত্রুটি বার্তা প্রদান করে। ওয়েবসাইটে http অনুরোধ পাঠানোর উপায়, https://example.com নিম্নলিখিত স্ক্রিপ্ট দেখানো হয়েছে.

প্যাকেজ প্রধান
// প্রয়োজনীয় প্যাকেজ আমদানি করুন
আমদানি (
'fmt'
'নেট/http'
)

ফাংশন প্রধান () {
//একটি ওয়েবসাইটে একটি GET অনুরোধ পাঠান
res , ভুল := http . পাওয়া ( 'https://example.com' )
// ত্রুটির জন্য চেক করুন
যদি ভুল == শূন্য {
// ওয়েবসাইট দ্বারা প্রেরিত প্রতিক্রিয়া প্রিন্ট করুন
fmt . Println ( res )
} অন্য {
// ত্রুটি বার্তা প্রিন্ট করুন
fmt . Println ( ভুল )
}
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p28

উপরে যান


গোলং কমান্ড লাইন আর্গুমেন্ট

স্ক্রিপ্ট কার্যকর করার সময় যে মানগুলি পাস করা হয় তাকে কমান্ড-লাইন আর্গুমেন্ট মান বলা হয়। OS প্যাকেজটি গোলং-এ কমান্ড লাইন আর্গুমেন্টের মান পড়তে ব্যবহৃত হয়। আর্গুমেন্টের মানগুলি Args[] অ্যারেতে সংরক্ষণ করা হয়। প্রতিটি লাইনে স্ক্রিপ্টের নাম ছাড়া আর্গুমেন্টের মান প্রিন্ট করতে স্ক্রিপ্টে রেঞ্জ সহ লুপ ব্যবহার করা হয়েছে।

প্যাকেজ প্রধান
// প্রয়োজনীয় প্যাকেজ আমদানি করে
আমদানি (
'fmt'
'আপনি'
)

ফাংশন প্রধান () {

fmt . Println ( 'সমস্ত আর্গুমেন্ট মান হল:' )
// স্ক্রিপ্ট নামের সাথে সমস্ত আর্গুমেন্ট মান মুদ্রণ করুন
fmt . Println ( আপনি . আর্গস )

fmt . Println ( 'আর্গুমেন্ট মান:' )
//একটি স্ক্রিপ্ট নাম ছাড়া সমস্ত যুক্তি মান প্রিন্ট করুন
জন্য ভিতরে , _ := পরিসীমা আপনি . আর্গস {
যদি ভিতরে == 0 {
চালিয়ে যান
}
fmt . Println ( আপনি . আর্গস [ ভিতরে ])
}
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p29

উপরে যান


গোলং এরর হ্যান্ডলিং

অন্যান্য প্রোগ্রামিং ভাষার মতো গোলং-এর কোনো ট্রাই-ক্যাচ ব্লক নেই। তবে ত্রুটি স্ক্রিপ্টে ত্রুটিগুলি পরিচালনা করতে প্যাকেজটি গোলং-এ ব্যবহার করা যেতে পারে। নিম্নলিখিত স্ক্রিপ্টে, ব্যবহারকারীর কাছ থেকে একটি পূর্ণসংখ্যা নেওয়া হবে। যদি ব্যবহারকারী একটি নেতিবাচক নম্বর নেয় তবে একটি ত্রুটি বার্তা প্রিন্ট করা হবে। দ্য errors.New() ফাংশন এখানে ত্রুটি বার্তা তৈরি করতে ব্যবহার করা হয়েছে।

প্যাকেজ প্রধান
// প্রয়োজনীয় প্যাকেজ আমদানি করুন
আমদানি (
'ত্রুটি'
'fmt'
)

ফাংশন প্রধান () {

ছিল n int
fmt . Printf ( 'একটি নম্বর লিখুন:' )
fmt . স্ক্যান ( এবং n )

//ইনপুট মান পরীক্ষা করুন
ফলাফল , ভুল := ইতিবাচক ( n )

// ত্রুটির জন্য চেক করুন
যদি ভুল != শূন্য {
fmt . Println ( ভুল )
} অন্য {
fmt . Printf ( '%ডি এস \n ' , n , ফলাফল )
}
}

///ধনাত্মক সংখ্যা পরীক্ষা করতে ফাংশন সংজ্ঞায়িত করুন
ফাংশন ইতিবাচক ( একের উপর int ) ( স্ট্রিং , ত্রুটি ) {
যদি সংখ্যা < 0 {
ফিরে '' , ত্রুটি . নতুন ( 'একটি ইতিবাচক সংখ্যা টাইপ করুন।' )
} অন্য {
ফিরে 'সংখ্যা ইতিবাচক।' , শূন্য
}
}

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

  p30

উপরে যান

উপসংহার:

গোলং এখন একটি জনপ্রিয় প্রোগ্রামিং ভাষা যেখানে পাইথন প্রোগ্রামিং ভাষার মতো অনেক দরকারী প্যাকেজ রয়েছে। যে কোনো নবীন ব্যবহারকারী প্রথম প্রোগ্রামিং ভাষা হিসেবে গোলং শিখতে পারেন কারণ এটি শেখা খুবই সহজ। প্রাথমিক 30টি গোলং উদাহরণ এই টিউটোরিয়ালে ব্যাখ্যা করা হয়েছে শুরু থেকে গোলং শিখতে এবং শিক্ষার্থীরা গোলং-এ প্রোগ্রাম লিখতে সক্ষম হবে। এই ভাষার একটি প্রধান সীমাবদ্ধতা হল এতে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং এর বৈশিষ্ট্য নেই তবে এটি স্ট্রাকচার্ড প্রোগ্রামিং শেখার জন্য ভাল।