英文:
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版本的发布(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.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论