引言

优质
小牛编辑
114浏览
2023-12-01

Introduction

引言

Go is a new language. Although it borrows ideas from existing languages, it has unusual properties that make effective Go programs different in character from programs written in its relatives. A straightforward translation of a C++ or Java program into Go is unlikely to produce a satisfactory result—Java programs are written in Java, not Go. On the other hand, thinking about the problem from a Go perspective could produce a successful but quite different program. In other words, to write Go well, it’s important to understand its properties and idioms. It’s also important to know the established conventions for programming in Go, such as naming, formatting, program construction, and so on, so that programs you write will be easy for other Go programmers to understand.

Go 是一门全新的语言。尽管它从既有的语言中借鉴了许多理念,但其与众不同的特性, 使得使用 Go 编程在本质上就不同于其它语言。将现有的 C++ 或 Java 程序直译为 Go 程序并不能令人满意——毕竟 Java 程序是用 Java 编写的,而不是 Go。 另一方面,若从 Go 的角度去分析问题,你就能编写出同样可行但大不相同的程序。 换句话说,要想将 Go 程序写得好,就必须理解其特性和风格。了解命名、格式化、 程序结构等既定规则也同样重要,这样你编写的程序才能更容易被其他程序员所理解。

This document gives tips for writing clear, idiomatic Go code. It augments the language specification, the Tour of Go, and How to Write Go Code, all of which you should read first.

本文档就如何编写清晰、地道的 Go 代码提供了一些技巧。它是对 语言规范Go 语言之旅 以及 如何使用 Go 编程 的补充说明,因此我们建议您先阅读这些文档。

Examples

示例

The Go package sources are intended to serve not only as the core library but also as examples of how to use the language. Moreover, many of the packages contain working, self-contained executable examples you can run directly from the golang.org web site, such as this one (if necessary, click on the word”Example”to open it up). If you have a question about how to approach a problem or how something might be implemented, the documentation, code and examples in the library can provide answers, ideas and background.

Go 包的源码 不仅是核心库,同时也是学习如何使用 Go 语言的示例源码。 此外,其中的一些包还包含了可工作的,独立的可执行示例,你可以直接在 golang.org 网站上运行它们,比如 这个例子 (单击文字 “示例” 来展开它)。如果你有任何关于某些问题如何解决,或某些东西如何实现的疑问, 也可以从中获取相关的答案、思路以及后台实现。

最后更新:

类似资料

  • 流程,创造力和质量。在阅读本书的同时,将这三个词写入你的脑海中。流程、创造力、质量。这本书可能充满了重要主题的练习,每个程序员都应该知道它们,但是从书中获得的真实知识就是这三个词。我写这本编程书的目的是告诉你,我所知道的是,软件中最重要的三个常量。没有流程,你会迷失在想知道如何开始,并有维持长期项目的进展的问题。没有创造力,你将无法作为程序员解决每天遇到的问题。没有质量,你不知道你所做的任何事情是

  • 同人类任何语言一样,Java为我们提供了一种表达思想的方式。如操作得当,同其他方式相比,随着问题变得愈大和愈复杂,这种表达方式的方便性和灵活性会显露无遗。 不可将Java简单想象成一系列特性的集合;如孤立地看,有些特性是没有任何意义的。只有在考虑“设计”、而非考虑简单的编码时,才可真正体会到Java的强大。为了按这种方式理解Java,首先必须掌握它与编程的一些基本概念。本书讨论了编程问题、它们为何

  • 该文档是Sphinx建立文档的参考. Sphinx 将 reStructuredText 源文件集转换为丰富的输出格式,并自动产生参考文献、索引等. 简言之,如果你有一个包含reST-格式的文档的目录(包含文档的所有文件或子目录), Sphinx 会生成组织合理的HTML文件(在另一个目录里),使得浏览及导航功能使用非常方便. 通用一份源文件,你可以生成LaTeX 文件,然后编译成 PDF 版本的

  • Akka是什么 Akka实现了独特的混合模型 Scala 和 Java API 使用Akka的两种方式 商业支持 为什么使用Akka? Akka平台提供哪些有竞争力的特性? Akka特别适合什么场景? 入门 准备工作 入门指南和模板工程 下载 模块 使用发布版 使用快照版 微内核 使用build工具 Maven仓库 通过Maven使用Akka 通过SBT使用Akka 通过Gradle使用Akka

  • 数据在网络上传播很容易被不是预期的收件人进行访问。当数据包含私人信息,如密码和信用卡号码,必须采取措施,以保证使数据不容易透露给未经授权的第三方。同样重要的是,在传输过程中要确保数据没有被修改(有意或无意地)。 Secure Sockets Layer (SSL,安全套接字层)和Transport Layer Security (TLS,传输层安全)协议,旨在保护数据在网络传输的过程中的保密性和完

  • 近来出现了许多以带宽换取信噪比的调制方法,比如PCM和PPM,它们的出现进一步激发了人们对广义通信理论的兴趣。在奈奎斯特(Nyquist)和哈特莱(Hartley)发表的一些重要相关论文中,奠定了这一理论的基础。本论文将扩展该理论,增加一些新的因素,具体来说,就是信道中噪声的影响、由于原始消息的统计结构和最终信宿的本质而可能减省的内容。 通信的基本问题就是在一个地方复现在另一个地方选定的消息,这一