自从Go语言创建以来,它发生了很大的变化吗?

huangapple go评论71阅读模式
英文:

Has Go changed much since its creation?

问题

我最近也在学习Ember.js。这不是一个完全对等的比较,因为Ember.js是一个框架,而Go是一种编程语言。Ember.js相对较新,我发现一些最近的教程已经过时了,比如这篇来自2010年的博客文章,https://blog.golang.org/gos-declaration-syntax,关于Go的声明语法,它还有效吗?

英文:

I've also been recently learning about Ember.js. It's not really an apples-to-apples comparison since Ember.js is a framework while Go is a language. Ember.js is relatively new and I've found out that some tutorials written as recently as this year are already out of date.

For example, is this blog from 2010, https://blog.golang.org/gos-declaration-syntax, about Go's declaration syntax still valid?

答案1

得分: 3

Go自从首次公开发布以来并没有发生太大的变化。这篇博客很好。

Go有兼容性保证。

Go 1和Go程序的未来

介绍
期望
子仓库
操作系统
工具

介绍

Go 1版本的发布(2012年3月),简称为Go 1,是该语言发展的一个重要里程碑。Go 1是一个稳定的平台,用于编写Go语言的程序和项目的增长。

Go 1定义了两个内容:首先是语言的规范;其次是一组核心API的规范,即Go库的“标准包”。Go 1的发布包括它们的实现,以两个编译器套件(gc和gccgo)和核心库本身的形式。

旨在按照Go 1规范编写的程序将在该规范的生命周期内继续编译和正确运行,而不需要进行任何更改。在某个不确定的时间点,可能会出现Go 2规范,但在那之前,今天工作的Go程序应该继续工作,即使未来的“点”版本(Go 1.1、Go 1.2等)发布。

兼容性是在源代码级别上进行的。编译包的二进制兼容性在发布之间不能得到保证。在点发布之后,Go源代码需要重新编译以链接到新的发布版本。

API可能会增长,引入新的包和功能,但不会破坏现有的Go 1代码。

英文:

Go hasn't changed much such its first public release. The blog is good.

Go has compatibility guarantees.

> Go 1 and the Future of Go Programs
>
> Introduction
> Expectations
> Sub-repositories
> Operating systems
> Tools
>
> Introduction
>
> The release of Go version 1 (March 2012), Go 1 for short, is a major milestone in
> the development of the language. Go 1 is a stable platform for the
> growth of programs and projects written in Go.
>
> Go 1 defines two things: first, the specification of the language; and
> second, the specification of a set of core APIs, the "standard
> packages" of the Go library. The Go 1 release includes their
> implementation in the form of two compiler suites (gc and gccgo), and
> the core libraries themselves.
>
> It is intended that programs written to the Go 1 specification will
> continue to compile and run correctly, unchanged, over the lifetime of
> that specification. At some indefinite point, a Go 2 specification may
> arise, but until that time, Go programs that work today should
> continue to work even as future "point" releases of Go 1 arise (Go
> 1.1, Go 1.2, etc.).
>
> Compatibility is at the source level. Binary compatibility for
> compiled packages is not guaranteed between releases. After a point
> release, Go source will need to be recompiled to link against the new
> release.
>
> The APIs may grow, acquiring new packages and features, but not in a
> way that breaks existing Go 1 code.

huangapple
  • 本文由 发表于 2015年10月17日 13:16:17
  • 转载请务必保留本文链接:https://go.coder-hub.com/33183028.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定