दिलचस्प पोस्ट
UILabel – टेक्स्ट फिट करने के लिए ऑटो-साइज लेबल? कोको में iTunes गीत शीर्षक स्क्रोलिंग Android \ Intent: छवि संलग्नक के साथ एक ईमेल भेजें ब्राउजर को फ्रीजिंग से तीव्र जावास्क्रिप्ट लूप को कैसे रोकें एंड्रॉइड – Google मैप्स एपीआई 2.0 के साथ सहायतामैपफ्रैग्मेंट दे रही है अवैध अवैध वर्चस्व ASP.NET MVC में विफलता मान्यकरण के बाद इनपुट टाइप = फाइल फ़ील्ड मान कैसे रखना है? sed कमांड के साथ -i विकल्प मैक पर असफल हो रहा है, लेकिन लिनक्स पर काम करता है जावास्क्रिप्ट सेट img src यदि सेल में '@' सम्मिलित नहीं है, तो पूरे पंक्ति को हटाने का कुशल तरीका प्रत्येक शब्द के पहले अक्षर को कैपिटल कैसे करें, जैसे 2-शब्द का शहर? चिकना कर्ज़ आकर्षित – तरीके की आवश्यकता Utf8 और latin1 के बीच अंतर एंड्रॉइड: java.lang.SecurityException: अनुमति अस्वीकृति: आरंभ आशय ActiveWorkbook तक प्रतीक्षा करें। रीफ़्रेश सभी समाप्त – VBA पूर्णांक लगातार पूल परिवर्तन का व्यवहार 127 पर क्यों होता है?

गोलांग में कोड की लंबी लाइन को कैसे तोड़ा जाए?

पायथन से आ रहा है, मुझे 80 कॉलम से अधिक कोड लाइन देखने के लिए उपयोग नहीं किया गया I इसलिए जब मैं यह मुठभेड़ करता हूं:

err := database.QueryRow("select * from users where user_id=?", id).Scan(&ReadUser.ID, &ReadUser.Name, &ReadUser.First, &ReadUser.Last, &ReadUser.Email) 

मैंने इसे तोड़ने की कोशिश की

 err := database.QueryRow("select * from users where user_id=?", id) \ .Scan(&ReadUser.ID, &ReadUser.Name, &ReadUser.First, &ReadUser.Last, &ReadUser.Email) 

लेकिन मुझे मिल गया

  syntax error: unexpected \ 

मैंने प्रवेश करने के साथ लाइन को तोड़ने की कोशिश की और अंत में एक अर्धविराम लगाया:

 err := database.QueryRow("select * from users where user_id=?", id) .Scan(&ReadUser.ID, &ReadUser.Name, &ReadUser.First, &ReadUser.Last, &ReadUser.Email); 

लेकिन मुझे फिर से मिलता है:

 syntax error: unexpected . 

तो मैं सोच रहा हूं कि ऐसा करने के लिए गोलाकार रास्ता क्या है?

वेब के समाधान से एकत्रित समाधान "गोलांग में कोड की लंबी लाइन को कैसे तोड़ा जाए?"

पहले कुछ पृष्ठभूमि गो का औपचारिक व्याकरण अर्धविराम का उपयोग करता है ";" कई प्रस्तुतियों में टर्मिनेटर के रूप में, लेकिन जाओ प्रोग्राम उनमें से ज्यादातर को छोड़ सकते हैं (और उन्हें एक स्पष्ट, आसानी से पठनीय स्रोत होना चाहिए; gofmt भी अनावश्यक अर्धविराम को हटा देता है)

विनिर्देश सटीक नियमों को सूचीबद्ध करता है। युक्ति: अर्धविराम:

औपचारिक व्याकरण सेमीकॉल्लों का उपयोग करता है ";" कई प्रस्तुतियों में टर्मिनेटर के रूप में जाओ प्रोग्राम निम्न दो नियमों का उपयोग करके इनमें से अधिकांश अर्धविराम छोड़ सकते हैं:

  1. जब इनपुट टोकन में विभाजित होता है, तो एक अर्धविराम स्वचालित रूप से एक लाइन के अंतिम टोकन के तुरंत बाद टोकन स्ट्रीम में डाला जाता है यदि वह टोकन है

    • एक पहचानकर्ता
    • एक पूर्णांक , अस्थायी-बिंदु , काल्पनिक , रूण या स्ट्रिंग शाब्दिक
    • कीवर्ड में से एक break , continue , fallthrough या return
    • एक ऑपरेटर और सीमांकक ++, -,),], या}
  2. जटिल विवरणों को एक पंक्ति पर कब्जा करने के लिए, एक अर्धविराम को बंद करने से पहले छोड़ा जा सकता है) ")" या "}"

जैसे कि आप देख सकते हैं कि क्या आप कोष्ठक के बाद एक नया पंक्ति डालें ) , एक अर्धविराम ; स्वचालित रूप से डाला जाएगा और इसलिए अगली पंक्ति को पिछली लाइन के निरंतरता के रूप में नहीं माना जाएगा। आपके मामले में यह वही हुआ है, और इसलिए .Scan(&ReadUser.ID,... शुरू होने वाली अगली पंक्ति .Scan(&ReadUser.ID,... आपको एक संकलन-समय की त्रुटि .Scan(&ReadUser.ID,... क्योंकि यह स्वतः ही खड़ी है (पिछली पंक्ति के बिना) एक संकलन-समय त्रुटि है : syntax error: unexpected .

तो आप अपनी लाइन को किसी भी बिंदु पर तोड़ सकते हैं जो 1. तहत सूचीबद्ध नियमों के साथ संघर्ष नहीं करता है।

आमतौर पर आप अल्पविराम के बाद अपनी रेखाएं तोड़ सकते हैं, जैसे कोष्ठक खोलने के बाद उदा।, ( [ , { , और डॉट के बाद) जो किसी फ़ील्ड या कुछ मूल्य की विधि का संदर्भ दे सकता है। आप बाइनरी ऑपरेटरों के बाद भी अपनी लाइन को तोड़ सकते हैं 2 ऑपरेंड), जैसे:

 i := 1 + 2 fmt.Println(i) // Prints 3 

यहां पर ध्यान देने योग्य चीज यह है कि यदि आपके पास प्रारंभिक मानों को सूचीबद्ध करने के लिए एक स्ट्रेट या स्लाइस या शाब्दिक मानचित्र हैं, और अंतिम मान को सूचीबद्ध करने के बाद आप लाइन को तोड़ना चाहते हैं, तो आपको अनिवार्य अल्पविराम रखना होगा , हालांकि यह अंतिम मान है और अब और नहीं होगा, जैसे:

 s := []int { 1, 2, 3, 4, 5, 6, // Note it ends with a comma } 

यह सेमीकोलन नियमों के अनुरूप है, और इससे भी कि आप अंतिम कॉमा को जोड़ने / हटाने का ध्यान न रखने के बिना नई लाइनों को पुनर्व्यवस्थित कर सकते हैं; जैसे कि आप बिना दो कोमा हटाने और एक नया कॉमा जोड़ने के लिए 2 लाइनों को स्वैप कर सकते हैं:

 s := []int { 4, 5, 6, 1, 2, 3, } 

फ़ंक्शन कॉल में तर्कों को सूचीबद्ध करते समय एक ही लागू होता है:

 fmt.Println("first", "second", "third", // Note it ends with a comma ) 

सबसे आसान तरीका है कि पहली पंक्ति पर ऑपरेटर ( . ) को छोड़ दें।

कई अजगर शैली गाइडों में \ line continuations को भी निराश किया जाता है, यदि आप आगे और पीछे जाने और अजगर के बीच आगे बढ़ रहे हैं, तो यह तकनीक दोनों भाषाओं में काम करती है

यह शैली की बात है, लेकिन मुझे पसंद है:

 err := database.QueryRow( "select * from users where user_id=?", id, ).Scan( &ReadUser.ID, &ReadUser.Name, &ReadUser.First, &ReadUser.Last, &ReadUser.Email, )