সময়ের জন্য `শূন্য` মানটি কী? টাইমে গো?


157

একটি ত্রুটি অবস্থায়, আমি ফিরে যাওয়ার চেষ্টা করেছি nil, যা ত্রুটিটি ছুড়ে ফেলেছে:

cannot use nil as type time.Time in return argument

এর zeroমান কী time.Time?


30
এবং আপনি IsZero()শূন্য সময় সনাক্ত করতে ব্যবহার করতে পারেন ।
ম্যাট

উত্তর:


156

একটি খালি time.Timeকাঠামোগত আক্ষরিক শুরু করা গো এর শূন্য তারিখ ফিরে আসবে। সুতরাং, নিম্নলিখিত মুদ্রণ বিবৃতি জন্য:

fmt.Println(time.Time{})

আউটপুটটি হ'ল:

0001-01-01 00:00:00 +0000 UTC

সম্পূর্ণতার স্বার্থে, সরকারী ডকুমেন্টেশনগুলি স্পষ্টভাবে বলে:

টাইপের শূন্য মান হ'ল 1 জানুয়ারী, বছর 1, 00: 00: 00.000000000 ইউটিসি।


7
"কোনও যুক্তি পাস করা" এটি একটি ফাংশন কলের মতো শব্দ করে তোলে। এটি কোনও কাঠামোগত আক্ষরিক যার ক্ষেত্র নির্দিষ্ট নেই। এক্স {any হ'ল কোনও এক্স এর জন্য স্ট্রাক্ট এক্স এর শূন্য মান
রাশ কক্স

1
@ রুসকক্স আমি সত্য মনে করি না। আমার ক্ষেত্রে, আমার কাছে সময় ক্ষেত্র রয়েছে my আমার কাঠামোর টাইম যার 'অমিটেম্টি' বৈশিষ্ট্য রয়েছে। যদি আমি এই মানটি সেট না করে তা স্বয়ংক্রিয়ভাবে 0001-01-01 00:00:00 +0000 ইউটিসি উপেক্ষা করার পরিবর্তে সেট হয়ে যায়।
গৌরব ওঝা

1
@ গৌরবওঝা গোলং জেএসওনকে সার্বক্ষণিক সময়ের সাথে দেখতে পাবেন।টাইম ফিল্ড
আইকজা

301

পরিবর্তে আপনার সময়.আইসজিরো () ফাংশনটি ব্যবহার করা উচিত:

func (Time) IsZero

func (t Time) IsZero() bool
IsZero reports whether t represents the zero time instant, January 1, year 1, 00:00:00 UTC.

প্রকৃতপক্ষে, সময়ের জন্য প্রদত্ত মান শূন্য কিনা তা তুলনা করা হলে, এটি আসলে ব্যবহার করা উচিত।
গৌরব ওঝা

7
যদিও এটি তুলনার জন্য সঠিক উত্তর, ওপি তুলনা সম্পর্কে জিজ্ঞাসা করে নি, বরং শূন্য মানের কীভাবে আরম্ভ করতে হয়। গৃহীত উত্তর সঠিক।
মিকিজভ

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.