gu gu gu en gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu ro gu gu gu gu gu gu gu gu gu eo gu rm gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu en gu gu gu gu gu gu gu gu gu gu gu gu gu en gu gu gu en gu gu gu gu en en en en en en en cs en it gu gu en pt en de gu gu gu gu gu gu gu gu gu gu en de fa gu en it gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu gu eo gu gu gu gu gu gu gu gu gu nl ar bg bn ca hbs_lat da de en es eu fa fi fr he hu hy id is it ja ko cs ms nl nb pl pt ru sl hbs_lat sv ta tr fy ur vi zh gu gu gu gu gu gu gu en gu
ગો (પ્રોગ્રામિંગ ભાષા) - વિકિપીડિયા
Jump to navigation Jump to search
gc (8g, 6g, 5g), gccgo
લિનક્સ,માઇક્રોસોફ્ટ વિન્ડોઝ,MAC OS X,ફ્રી BSD,પ્લાન ૯(બેલ પ્રયોગશાળા)
ગો એક સંકલિત, ગાર્બેજ-એકત્રિત, સહવર્તી ગૂગલ સંસ્થાપિત પ્રોગ્રામિંગ ભાષા છે.
ગોનો લક્ષ્ય ડાયનેમિક પ્રોગ્રામિંગ ભાષાની સરળતા સાથે સ્ટેટિક - સંકલિત ભાષાની કાર્યક્ષમતા પૂરું પાડવાનો છે.
સલામતી: પ્રકાર સુરક્ષિત અને મેમરી સુરક્ષિત.
સમાંતર અને સંચાર માટે સારો આધાર
કાર્યક્ષમ અને ગાર્બેજ- કલેક્ટરનો ઉપયોગ કરે છે
ગોનું સિંટેક્સ વ્યાપક પણે C જેવું જ છે: કોડ-બ્લોક સર્પાકાર કૌંસની અંદર મર્યાદિત છે; સામાન્ય નિયંત્રણ ફ્લો સ્ટ્રક્ચરમાં if,switch,forનો સમાવેશ થાય છે. દરેક નિવેદનોમાં અર્ધવિરામ અને "વેરિયેબલ ડિક્લેરેશન" સામાન્ય રીતે વૈકલ્પિક છે.નવા go અને select નિયંત્રણ-કીવર્ડ્સ સહવર્તી પ્રોગ્રામિંગને આધાર આપે છે.નવા આંતરિક પ્રકારોમાં મેપ ,UTF-૮ સ્ટ્રિંગ્સ(યોગ્ય યુનિકોડ સ્ટ્રિંગ્સ ખંડગ્રહ વગર), એરે સ્લાઇસેસ અને આંતર થ્રેડ સંદેશાવ્યવહાર માટે ચેનલોનો સમાવેશ કરાયો છે.
ગો અપવાદરૂપે ઝડપી કમ્પાઇલ સમય માટે રચાયેલ છે.તેના અમુક સમાંતર-સંબંધિત સ્ટ્રક્ચરલ સંમેલનો ટોની હોરના CSPમાંથી લેવામાં આવ્યું છે.પહેલાંના સહવર્તી પ્રોગ્રામિંગ ભાષાઓ જેમ કે ઓકમ અને લિમ્બોની જેવી ગોમાં સહવર્તી આંતરિક-સુરક્ષિત નથી.
C++ અને જાવાની વિપરીત "ગો"માં વારસાઈ(Inheritance),સામાન્ય પ્રોગ્રામિંગ, મેથડ ઓવરલોડિંગ,પોઇન્ટર અંકગણિત જેવી સુવિધાઓ નથી.શરૂઆતમાં, ભાષામાં અપવાદ હેન્ડલિંગનો સમાવેશ થયો ન હતો,પણ માર્ચ 2010 માં એક પદ્ધતિ panic/recover અસાધારણ ભૂલોને નિયંત્રિત કરવા માટે અમલમાં મુકાઇ હતી.
ગો પ્રોગ્રામરને એવા કર્યો લખવા માટે પરવાનગી આપે છે જે કોઈપણ મનસ્વી ઇનપુટ પર કામ કરી શકે છે, પણ તે કાર્યોનું વિવરણ ઇંટરફેસમાં અમલ હોવું જોઇએ. ગો ઈન્ટરફેસ પદ્ધતિઓનો સમૂહ તરીકે વર્ણવવામાં આવે છે, એક નામ અને સિગ્નેચર દ્વારા ઓળખાય છે.એક પ્રકાર માટે ઈન્ટરફેસ અમલમાં માનવામાં આવે છે જો તમામ જરૂરી પદ્ધતિઓ તે પ્રકાર માટે વ્યાખ્યાયિત થયેલ છે.એક ઇન્ટરફેસ માટે અન્ય ઈન્ટરફેસો "એમ્બેડ" જાહેર કરી શકાય છે જ્યારે અન્ય ઈન્ટરફેસોની વ્યાખ્યાયિત પદ્ધતિઓનો તેમાં સમાવેશ હોય છે.[૧] જાવા વિપરીત, એક ઓબ્જેક્ટ તેની આંતરિક-મેમરીની રજૂઆતમાં વર્ચ્યુઅલ પદ્ધતિ ટેબલ પર પોઇન્ટર ધરાવતું નથી.તેના બદલે ઈન્ટરફેસ પ્રકારની કિંમત તરીકે ૨ પોઇંટરો અમલમાં મૂકાયેલ છે;
૧) ઓબ્જેક્ટ માટે પોઇન્ટર
૨)તે પ્રકાર માટે ઇન્ટરફેસ પદ્ધતિઓ અમલીકરણો સમાવતી શબ્દકોશ માટે પોઇન્ટર.
type Sequence []int func (s Sequence) Len() int { return len(s) } type HasLength interface { Len() int } func Foo (o HasLength) { ... }
આ ચાર વ્યાખ્યાઓને અલગ ફાઈલોમાં તથા કાર્યક્રમના વિવિધ ભાગોમાં મૂકી શકાય.નોંધનીય છે કે, પ્રોગ્રામર જેઓએ Sequence પ્રકારનું વિવરણ કર્યુ છે તેમને HasLength અમલમાં મૂકાયેલ છે તેવી જાહેરાત કરવાની જરૂર નથી.જે વ્યક્તિએ Sequence માટે Len પદ્ધતિ અમલમાં મૂકાયેલ છે કે તે પદ્ધતિ HasLengthનો ભાગ હોય તે જરૂરી નથી.
સ્ટ્રક્ચર્સ, સ્ટ્રક્ચર ફીલ્ડ્સ , ચલો, સ્થિરાંકો, પદ્ધતિઓ,ટોચના સ્તરના પ્રકારોની દૃશ્યતા તેમના ઓળખકર્તા ના કેપીટલાયસેશન મુજબ નિર્વિવાદરૂપે વ્યાખ્યાયિત હોય છે.[૨]
ગો, નાના લાઇટવેઇટ થ્રેડ્સ "ગોરુટિન્સ" પૂરા પાડે છે , જેનું નામ પરોક્ષ રીતે કોરુટિન્સને ઉલ્લેખ કરે છે.ગોરુટિન્સ અનામિક અથવા નામવાળી કાર્યોમાં go સ્ટેટમેન્ટ સાથે બનાવામાં આવે છે. ગોરુટિન્સ તેમના કોલર સહિત અન્ય ગોરુટિન્સ સાથે સમાંતર ચાલે છે.તેઓ અલગ થ્રેડોમાં નથી ચાલતા, પરંતુ ગોરુટિન્સ ,એક જૂથ, મલ્ટીપલ થ્રેડો માં મલ્ટિપ્લેક્સ્ડ છે.
હાલમાં બે(૨) ગો કમ્પાઇલરો છે:
6g/8g/5g (અનુક્રમે AMD64, x86, અને ARM માટેના કમ્પાઇલરો) તેમના સહાયક સાધનો (સામૂહિક તરીકે "gc" તરીકે ઓળખાય છે) જે કેન થોમ્પસનના પુર્વ કામ "પ્લાન ૯(બેલ પ્રયોગશાળા)ના C ટૂલચેન" પર અધારિત છે.
gccgo,એક GCC ફ્રન્ટએન્ડ C++[૩] માં લખાયેલ છે.
બંને કમ્પાઇલરોનો યુનિક્સ જેવી સિસ્ટમો પર કામ કરે છે અને તેની મોટા ભાગની લાઈબ્રેરીઓ વિન્ડોઝ પર પણ કામ કરે છે.
નીચે "હેલો વર્લ્ડ"નો પ્રોગ્રામ છે:
package main import "fmt" func main() { fmt.Println("Hello, World") }
"ગો"ના સ્વયંસંચાલિત અર્ધવિરામ નિવેશ લક્ષણના કારણે પ્રારંભિક કૌંસ પોતાની લીટીમાં હોવા જરૂરી નથી,એટલા માટે આ કૌંસ શૈલી વાપરવામાં આવે છે.[૪]
નીચેનો ઉદાહરણ , ગોમાં યુનિક્સનો "ઇકો કમાન્ડ" કઇ રીતે લખવો તે દર્શાવે છે:[૫]
package main import ( "os" "flag" // Command line option parser. ) var omitNewline = flag.Bool("n", false, "don't print final newline") const ( Space = " " Newline = "\n" ) func main() { flag.Parse() // Scans the arg list and sets up flags. var s string for i := 0; i   0 { s += Space } s += flag.Arg(i) } if !*omitNewline { s += Newline } os.Stdout.WriteString(s) }
ભાષાના સામાન્ય પ્રકાશન દિવસે,ફ્રાન્સિસ મેકકેબે, ગો!(આ ઉદ્ગારવાચક બિંદુની નોંધ કરો)ના વિકાસકર્તાએ ગૂગલની ભાષાનું નામ બદલવા માટે વિનંતી કરી જેથી મૂંઝવણ ઊભી ના થાય.[૬].આ મુદ્દાને ગૂગલ વિકાસકર્તા દ્વારા ૧૨ ઓક્ટોબર ૨૦૧૦ ના રોજ, "ઘણા કમ્પ્યુટિંગ ઉત્પાદનો અને સેવાઓને "ગો" નામ આપવામાં આવ્યું છે, અમારા પ્રકાશનના ૧૧ મહિના પછી , આ બે ભાષાઓ વચ્ચે ન્યૂનતમ મૂંઝવણ રહી છે"[૭] આ ટિપ્પણી સાથે બંધ કરવામાં આવ્યો હતો.
↑ "Effective Go - Interfaces and methods & Embedding". Google. Retrieved 28 November 2011.
↑ "A Tutorial for the Go Programming Language". The Go Programming Language. Google. Retrieved 10 March 2010. In Go the rule about visibility of information is simple: if a name (of a top-level type, function, method, constant or variable, or of a structure field or method) is capitalized, users of the package may see it. Otherwise, the name and hence the thing being named is visible only inside the package in which it is declared.
↑ "FAQ: Implementation". golang.org. 16 January 2010. Retrieved 18 January 2010.
↑ "A Tutorial for the Go Programming Language". The Go Programming Language. Google. Retrieved 10 March 2010. The one surprise is that it's important to put the opening brace of a construct such as an if statement on the same line as the if; however, if you don't, there are situations that may not compile or may give the wrong result. The language forces the brace style to some extent.
↑ "A Tutorial for the Go Programming Language". golang.org. 16 January 2010. Retrieved 18 January 2010.
↑ Claburn, Thomas (11 November 2009). "Google 'Go' Name Brings Accusations Of Evil'". InformationWeek. Retrieved 18 January 2010.
↑ "Issue 9 - go - I have already used the name for *MY* programming language". Google Code. Google Inc. Retrieved 12 October 2010.
કોઈ પણ એક લેખ
PDF તરીકે ડાઉનલોડ કરો
અહિયાં શું જોડાય છે
આની સાથે જોડાયેલા ફેરફાર
આ પાનાંમાં છેલ્લો ફેરફાર ૯ માર્ચ ૨૦૧૩ના રોજ ૦૩:૨૯ વાગ્યે થયો.
આ લખાણ Creative Commons Attribution-ShareAlike License હેઠળ ઉપલબ્ધ છે; વધારાની શરતો લાગુ પડી શકે છે. વધુ માહિતી માટે વપરાશની શરતો જુઓ.