![]() This contrasts with C's int i = 3 and const char * s = "Hello, world!". ![]() A combined declaration/initialization operator was introduced that allows the programmer to write i := 3 or s := "Hello, world!", without specifying the types of variables used. Go's syntax includes changes from C aimed at keeping code concise and readable. A desire to keep the language specification simple enough to hold in a programmer's head, in part by omitting features that are common in similar languages.A toolchain that, by default, produces statically linked native binaries without external Go dependencies.An interface system in place of virtual inheritance, and type embedding instead of non-virtual inheritance.Built-in concurrency primitives: light-weight processes (goroutines), channels, and the select statement.Distinctive approaches to particular problems:. ![]() Remote package management ( go get) and online package documentation.Optional concise variable declaration and initialization through type inference ( x := 0 instead of int x = 0 or var x = 0 ).A syntax and environment adopting patterns more common in dynamic languages:.Go is influenced by C (especially the Plan 9 dialect ), but with an emphasis on greater simplicity and safety. Older version, yet still maintained: Maintenance Older version, yet still maintained: go1.19 Old version, no longer maintained: go1.18 Old version, no longer maintained: go1.17 Old version, no longer maintained: go1.16 Old version, no longer maintained: go1.15 Old version, no longer maintained: go1.14 Old version, no longer maintained: go1.13 Old version, no longer maintained: go1.12 Old version, no longer maintained: go1.11 Old version, no longer maintained: go1.10 Old version, no longer maintained: End-of-Life All versions up to the current Go 1.20 release have maintained this promise.Įach major Go release is supported until there are two newer major releases. Go 1 guarantees compatibility for the language specification and major parts of the standard library. Generics were finally added to Go in version 1.18. A code translation tool, go2go, was provided to allow users to try the new syntax, along with a generics-enabled version of the online Go Playground. In June 2020, a new draft design document was published that would add the necessary syntax to Go for declaring generic functions and types. However, the error handling proposal was eventually abandoned. In August 2018, the Go principal contributors published draft designs for generic programming and error handling and asked users to submit feedback. The Google team built at least one compiler for an experimental Go dialect with generics, but did not release it. The designers expressed an openness to generic programming and noted that built-in functions were in fact type-generic, but are treated as special cases Pike called this a weakness that might be changed at some point. The lack of support for generic programming in initial versions of Go drew considerable criticism. In April 2018, the original logo was replaced with a stylized GO slanting right with trailing streamlines. Both Go and Go Mono adhere to the DIN 1450 standard by having a slashed zero, lowercase l with a tail, and an uppercase I with serifs. Both fonts adhere to the WGL4 character set and were designed to be legible with a large x-height and distinct letterforms. Go is a humanist sans-serif resembling Lucida Grande, and Go Mono is monospaced. In November 2016, the Go and Go Mono fonts were released by type designers Charles Bigelow and Kris Holmes specifically for use by the Go project. The design, by Renée French, borrowed from a c. The Gopher mascot was introduced in 2009 for the open source launch of the language. Mascot of Go programming language is a Gopher shown above. Ī third-party source-to-source compiler, GopherJS, compiles Go to JavaScript for front-end web development. With GCC the combination is gccgo with LLVM the combination is gollvm. gofrontend, a frontend to other compilers, with the libgo library.Google's self-hosting "gc" compiler toolchain, targeting multiple operating systems and WebAssembly.It is often referred to as Golang because of its former domain name,, but its proper name is Go. It is syntactically similar to C, but also has memory safety, garbage collection, structural typing, and CSP-style concurrency. Go is a statically typed, compiled high-level programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson. Go, Assembly language (gc) C++ (gofrontend)ĭragonFly BSD, FreeBSD, Linux, macOS, NetBSD, OpenBSD, Plan 9, Solaris, WindowsĬ, Oberon-2, Limbo, Active Oberon, communicating sequential processes, Pascal, Oberon, Smalltalk, Newsqueak, Modula-2, Alef, APL, BCPL, Modula, occam ![]() Inferred, static, strong, structural, nominal
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |