এবং আমি এই ধরণের পরিবর্তনশীল ঘোষণা বুঝতে পারছি না:
_, prs := m["example"]
" _,
" ঠিক কী করছে এবং কেন তারা এর পরিবর্তে এ জাতীয় একটি ভেরিয়েবল ঘোষণা করেছে
prs := m["example"]
(আমি এটি গো বাই উদাহরণের অংশ হিসাবে পেয়েছি : মানচিত্র )
এবং আমি এই ধরণের পরিবর্তনশীল ঘোষণা বুঝতে পারছি না:
_, prs := m["example"]
" _,
" ঠিক কী করছে এবং কেন তারা এর পরিবর্তে এ জাতীয় একটি ভেরিয়েবল ঘোষণা করেছে
prs := m["example"]
(আমি এটি গো বাই উদাহরণের অংশ হিসাবে পেয়েছি : মানচিত্র )
prs
সম্ভবত "বর্তমান" জন্য দাঁড়িয়েছে। আপনার উদাহরণে কোড উপস্থিতি বা একটি এন্ট্রি অভাবে চেক করা হয় "example"
মধ্যে m
মানচিত্র।
উত্তর:
এটি রিটার্ন মানগুলির জন্য সমস্ত ভেরিয়েবল ঘোষিত হওয়া এড়িয়ে চলে।
একে ফাঁকা শনাক্তকারী বলা হয় ।
হিসাবে:
_, y, _ := coord(p) // coord() returns three values; only interested in y coordinate
( অন্য ' _
' ব্যবহারের ক্ষেত্রে আমদানির জন্য হয় )
যেহেতু এটা ফেরত মান বাতিল, এটা সহায়ক যখন আপনি যেমন ", ফিরে মান মাত্র এক চেক করতে চান কিভাবে একটি মানচিত্র কী অস্তিত্ব পরীক্ষা কিভাবে? মধ্যে" দেখানো " কার্যকরী যান, মানচিত্র ":
_, present := timeZone[tz]
প্রকৃত মান সম্পর্কে চিন্তা না করে মানচিত্রে উপস্থিতির জন্য পরীক্ষা করতে, আপনি ফাঁকা শনাক্তকারী, একটি সাধারণ আন্ডারস্কোর (
_
) ব্যবহার করতে পারেন ।
ফাঁকা শনাক্তকারীকে নির্বিঘ্নে বাতিল করা মান সহ যে কোনও ধরণের যে কোনও মান নির্ধারিত বা ঘোষণা করা যেতে পারে।
কোনও মানচিত্রে উপস্থিতি পরীক্ষার জন্য, মানটির জন্য সাধারণ ভেরিয়েবলের জায়গায় ফাঁকা শনাক্তকারী ব্যবহার করুন।
জাসর মন্তব্যগুলিতে যুক্ত হিসাবে :
"সাধারণভাবে স্বীকৃত মান" হ'ল সদস্যতা পরীক্ষার ভেরিয়েবলগুলিকে "ওকে" বলা (কোনও চ্যানেল পঠিত বৈধ ছিল কি না তা যাচাই করার জন্য একই)
এটি আপনাকে পরীক্ষার সাথে একত্রিত করতে দেয়:
if _, err := os.Stat(path); os.IsNotExist(err) {
fmt.Printf("%s does not exist\n", path)
}
আপনি এটি লুপেও দেখতে পাবেন:
আপনার যদি সীমাতে (মান) কেবলমাত্র দ্বিতীয় আইটেমের প্রয়োজন হয় তবে প্রথমটি বাতিল করতে খালি শনাক্তকারী, একটি আন্ডারস্কোর ব্যবহার করুন:
sum := 0
for _, value := range array {
sum += value
}
গো সংকলক আপনাকে এমন ভেরিয়েবলগুলি তৈরি করতে দেয় না যা আপনি কখনও ব্যবহার করবেন না।
for i, value := range x {
total += value
}
উপরের কোডটি "আমি ঘোষিত এবং ব্যবহার না করে" একটি ত্রুটি বার্তা ফিরিয়ে দেবে।
যেহেতু আমরা আমাদের লুপের ভিতরে আমি ব্যবহার করি না আমাদের এটিকে এটিতে পরিবর্তন করতে হবে:
for _, value := range x {
total += value
}
_
খালি শনাক্তকারী। অর্থ যে এটি নির্ধারিত হওয়া উচিত তা বাতিল করা হয়।
এখানে এটি example
বাতিল হওয়া কীটির মান । কোডের দ্বিতীয় লাইনের উপস্থিতি বুলিয়ানটি ফেলে দেওয়া হবে এবং মানটি সংরক্ষণ করা হবে prs
।
সুতরাং কেবল মানচিত্রে উপস্থিতি পরীক্ষা করতে আপনি মানটি বাতিল করতে পারেন। সেট হিসাবে মানচিত্রটি ব্যবহার করতে এটি ব্যবহার করা যেতে পারে।
ফাঁকা শনাক্তকারী ব্যবহার করা যেতে পারে যখনই সিনট্যাক্সের একটি ভেরিয়েবল নামের প্রয়োজন তবে প্রোগ্রাম লজিকের প্রয়োজন নেই, উদাহরণস্বরূপ যখন আমাদের কেবলমাত্র উপাদানটির মান প্রয়োজন হয় তখন অযাচিত লুপ সূচকটি বাতিল করতে হয় না।
থেকে সারাংশ:
গো প্রোগ্রামিং ভাষা (অ্যাডিসন-ওয়েসলি পেশাদার কম্পিউটিং সিরিজ)
ব্রায়ান ডাব্লু কার্নিগান
এই উপাদান কপিরাইট দ্বারা সুরক্ষিত হতে পারে।
একে ফাঁকা শনাক্তকারী বলা হয় এবং এটি এমন ক্ষেত্রে সহায়তা করে যেখানে আপনি যে মানটি প্রত্যাবর্তন করতে চলেছেন এবং এটি উল্লেখ না করে তা বাতিল করতে চান
কিছু জায়গা যেখানে আমরা এটি ব্যবহার করি:
অব্যবহৃত ভেরিয়েবলের দুর্দান্ত ব্যবহারের পরিস্থিতিটি তখন আপনার যখন কেবলমাত্র একটি আংশিক আউটপুট প্রয়োজন। নীচের উদাহরণে আমাদের কেবল মান (রাষ্ট্রের জনসংখ্যা) মুদ্রণ করতে হবে।
package main
import (
"fmt"
)
func main() {
statePopulations := map[string]int{
"California": 39250017,
"Texas": 27862596,
"Florida": 20612439,
}
for _, v := range statePopulations {
fmt.Println(v)
}
}
মূলত, _,
খালি শনাক্তকারী হিসাবে পরিচিত। জিওতে আমাদের এমন ভেরিয়েবল থাকতে পারে না যা ব্যবহার হচ্ছে না।
উদাহরণস্বরূপ যখন আপনি কোনও অ্যারের মাধ্যমে পুনরাবৃত্তি করেন যদি আপনি মান: = ব্যাপ্তি ব্যবহার করেন তবে আপনি i চান না পুনরাবৃত্তির জন্য মান । তবে আপনি যদি i মানটি বাদ দেন তবে এটি একটি ত্রুটি ফিরে আসবে। তবে আপনি যদি i ঘোষণা করে থাকেন এবং এটি ব্যবহার না করেন তবে এটি ত্রুটিও ফিরে আসবে।
সুতরাং, এটি সেই জায়গা যেখানে আমাদের ব্যবহার করতে হবে _,
।
এছাড়াও আপনি যখন ভবিষ্যতে কোনও ফাংশনের রিটার্ন মান না চান তা ব্যবহার করা হয়।
গোলাঙে একটি অব্যবহৃত ভেরিয়েবল অনুমোদিত নয়
আপনি যদি অন্য প্রোগ্রামিং ভাষা থেকে আসেন তবে এটির অভ্যস্ত হওয়া কিছুটা কঠিন মনে হতে পারে। তবে এর ফলে আরও ক্লিনার কোড আসে। সুতরাং একটি ব্যবহার করে _
আমরা বলছি যে আমরা জানি সেখানে একটি পরিবর্তনশীল আছে তবে আমরা এটি ব্যবহার করতে চাই না এবং সংকলকটি বলছি যা আমাকে সম্পর্কে অভিযোগ করে না। :)