গো ইনডেন্টেশন: ট্যাব বা ফাঁকা স্থান?


125

কোথাও কোথাও কোনও স্ট্যান্ডার্ড গুগল গো কোডিং কনভেনশন ডকুমেন্ট রয়েছে যা গো সোর্স কোডে ইনডেন্টেশনের জন্য ট্যাব বা স্পেস পছন্দ করে কিনা তা নির্ধারণ করে? যদি তা না হয় তবে (পরিসংখ্যানগতভাবে) আরও জনপ্রিয় বিকল্পটি কী?

  1. সরকারী সুপারিশ কি? (যদি কোন)
  2. আরও জনপ্রিয় পছন্দ কি?

উত্তর:


195

অফিসিয়াল সুপারিশটি আপনার কোডটির সাথে ফর্ম্যাট করছে

go fmt

বা সরাসরি gofmt কমান্ড ব্যবহার করে

gofmt -w .

আপনি এখানে golang.org ব্লগে, বা কার্যকর গো ডকুমেন্ট থেকে আরও পড়তে পারেন :

আঁকাবাঁকা রেখা
আমরা ডিফল্টরূপে খাঁজ এবং gofmt নিঃসরণ করে তাদের জন্য ট্যাব ব্যবহার করুন। আপনার প্রয়োজন হলেই স্পেস ব্যবহার করুন।


59
ঠিক আছে, তাই এটি ট্যাব।
এরিক কাপলুন

1
হ্যাঁ, ইন্ডেন্টের জন্য ট্যাবগুলি অফিশিয়াল সুপারিশ। আপনি @ ইন্টারনেটেরনেট পয়েন্ট আউট হিসাবে স্পেস ইনডেন্টেশন ব্যবহার করতে পারেন, তবে এটি প্রস্তাবনা নয়।
আনিসাস

19
@ এরিক অলিক, প্রকৃতপক্ষে, সরকারী অবস্থানটি "ট্যাব ব্যবহার go fmtকরুন " নয় বরং " আপনার কোডটি জমা দেওয়ার আগে ব্যবহার করুন" (নোটটিও রয়েছে gofmt)। আমি কি strees করার চেষ্টা করছি যে যান এই কাজ করা হয় ঠিক ঠিক একটি নীতি ঘোষণা করে কিন্তু একটি মাধ্যম যা enforces অবলম্বন দ্বারা নয়। এটি অস্বাভাবিক, সুতরাং এই ধারণাটি ঘিরে আপনার মাথাটি বাঁকানোর চেষ্টা করুন এবং গ্রহণ করুন go fmt। মনে রাখবেন যে এমনকি স্বয়ংক্রিয় সমাধান রয়েছে (উদাহরণস্বরূপ :Fmt, ভিমের পক্ষে অফিশিয়াল গো প্লাগইন কমান্ড, আইআইআরসি সমর্থন করে )।
kostix


2
আমি মনে করি এটি লক্ষণীয় যে কোনও সরঞ্জাম গ্রহণ / প্রয়োজনীয়তা সমস্ত যুক্তি থামায় না, তবে এর অর্থ এই যে লোকেরা আপনার মতামতী পছন্দগুলির জন্য আপনাকে ক্ষিপ্ত করার পরিবর্তে, সরঞ্জামটি গ্রহণ করার জন্য লোকেরা আপনাকে ক্ষিপ্ত করে তোলে (এবং সরঞ্জাম নির্মাতাদের কাছে তাদের মতামত পছন্দ)।
mtraceur

22

সম্পাদনা 2: নীচে তার মূল উত্তরটি এখন ভুল। লিঙ্কযুক্ত উত্স ফাইল (বর্তমান 30/12/2019) এর সঠিক বিভাগটি হ'ল:

গোফ্ট ফরমেট গো প্রোগ্রামগুলি। এটি প্রান্তিককরণের জন্য ট্যাব এবং প্রান্তিককরণের জন্য ফাঁকা অংশ ব্যবহার করে। প্রান্তিককরণ ধরে নেওয়া হয় যে একটি সম্পাদক একটি নির্দিষ্ট-প্রস্থের ফন্ট ব্যবহার করছে।

এটি নির্দেশ করার জন্য তেহস্পিনএক্সকে ধন্যবাদ !

এই লাইনের নীচে সমস্ত তথ্যই এখন সঠিক নয়

সম্পাদনা: নীচের মূল উত্তরটি এখন ভুল। লিঙ্কযুক্ত উত্স ফাইল (বর্তমান 25/07/2014) এর সঠিক বিভাগটি হ'ল:

গোফ্ট ফরমেট গো প্রোগ্রামগুলি।
এটি প্রান্তিককরণের জন্য ট্যাব (প্রস্থ = 8) এবং প্রান্তিককরণের জন্য ফাঁকা স্থান ব্যবহার করে।

আসল উত্তর (অবহেলিত):

Formatting control flags:
    -comments=true
        Print comments; if false, all comments are elided from the output.
    -tabs=true
        Indent with tabs; if false, spaces are used instead.
    -tabwidth=8
        Tab width in spaces.

4
-tabsএবং -tabwidthহয় সর্বস্বান্ত (এবং -commentsআরও ঘনিষ্ঠভাবে লাগছিল না আর অন্তত নথিভুক্ত করা হয়)
উইলিয়াম

2
@ বিলিস্পিয়ার ধন্যবাদ, আমি লিঙ্কযুক্ত ফাইলের সংশ্লিষ্ট বিভাগের সাথে উত্তরটি আপডেট করেছি।
ইন্টারমনেট

5
আপনি যখন ট্যাব অক্ষরগুলি ব্যবহার করেন তখন কোনও নির্দিষ্ট ট্যাব প্রস্থ ব্যবহার করার মতো কোনও জিনিস নেই, সুতরাং (প্রাক্তন) ট্যাবউইথ বিকল্পটির কোনও প্রভাব নেই এবং আপডেট হওয়া পাঠ্যের "প্রস্থ = 8" অংশটি সরিয়ে ফেলা উচিত Tab দর্শকের মধ্যে ট্যাব প্রস্থটি কনফিগার করা হয়েছে এই ত্রুটিটি সংযুক্ত
উত্সেও

2
এটি পুরানো। gofmtকমান্ডের ডকুমেন্টেশনে কোনও ট্যাবউইথের উল্লেখ নেই । এটি এখানে সরানো হয়েছে: github.com/golang/go/commit/…
তেহস্পিনএক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.