`
golang
  • 浏览: 28245 次
  • 性别: Icon_minigender_1
  • 来自: OHIO
文章分类
社区版块
存档分类
最新评论

GO编程指导

阅读更多
本文属翻译,原文地址 http://goroot.org/viewthread.php?tid=29&extra=page%3D1


介绍[Top]
这个文档是介绍GO编程语言的,针对熟悉C或者C++的程序员. 这不是一个广泛适用的入门介绍; 接近入门指导的文件请参考语言详述. 在你看完这份指导之后,你可能需要看一下高效GO编程, 一分更深入介绍GO的文件. 同时,三天教程的PPT版请参考: Day 1, Day 2, Day 3.
这个主要是通过一个适当的程序来介绍GO语言的特性. 所以的程序都运行正常并且保存在 /doc/progs/下。
程序片断均以原先的行号注释,为清晰,空白行保持空白.
(译者注,由于原先已标行号,则不再以代码高亮显示)
Hello, World[Top]
让我们以常规方式来开始:

   1.


   2. 05    package main
   3.

   4. 07    import fmt "fmt"  // Package implementing formatted I/O.
   5.

   6. 09    func main() {
   7. 10        fmt.Printf("Hello, world; or Καλημέρα κόσμε; or こんにちは 世界\n");
   8. 11    }

复制代码
GO源码均以所在的包语句来声明. 也可以导入其它包来使用它们的功能. 这个程序导入fmt包使用如今以大写开头,封装好的,友好的fmt.Printf.
函数以关键词func来标识. 这个main包的main函数是程序开始运行的地方(在初始化之后)。
字符串常量可以包含Unicode字符集, UTF-8编码. (事实上,GO的源码也是以UTF-8编码的.)
注释语句和C++的一样:
    /* ... */
    // ...
我们后面会介绍更多关于打印输出的.

编译[Top]
Go 是编译语言. 目前有两种编译器. Gccgo 是使用gcc端的编译器. 还有一套以不同名字命名的,针对不同硬件体系的编译器: 6g用于64位x86平台, 8g 用于32位x86平台, 还有更多. 这些编译器运行速度明显快于通用平台下的gccgo. 写本文时 (2009年底), 它们更具有鲁棒运行期系统,当然gccgo也在赶上来.
我们来看一下怎么使用6g来编译和运行我们的程序,

   1.


   2.     $ 6g helloworld.go  # compile; object goes into helloworld.6
   3.     $ 6l helloworld.6   # link; output goes into 6.out
   4.     $ 6.out
   5.     Hello, world; or Καλημέρα κόσμε; or こんにちは 世界
   6.     $

复制代码
使用gccgo看起来更传统一点.

   1.


   2.     $ gccgo helloworld.go
   3.     $ a.out
   4.     Hello, world; or Καλημέρα κόσμε; or こんにちは 世界
   5.     $

复制代码
Echo[Top]
接下来,有个unix版本的echo:

   1. 05    package main
   2.

   3. 07    import (
   4. 08        "os";
   5. 09        "flag";  // command line option parser
   6. 10    )
   7.

   8. 12    var omitNewline = flag.Bool("n", false, "don't print final newline")
   9.

  10. 14    const (
  11. 15        Space = " ";
  12. 16        Newline = "\n";
  13. 17    )
  14.

  15. 19    func main() {
  16. 20        flag.Parse();   // Scans the arg list and sets up flags
  17. 21        var s string = "";
  18. 22        for i := 0; i < flag.NArg(); i++ {
  19. 23            if i > 0 {
  20. 24                s += Space
  21. 25            }
  22. 26            s += flag.Arg(i);
  23. 27        }
  24. 28        if !*omitNewline {
  25. 29            s += Newline
  26. 30        }
  27. 31        os.Stdout.WriteString(s);
  28. 32    }

复制代码
这个程序很小,但它做了几件事。在上一个程序,我们看到func标识一个函数. 而关键字var, const, and type (还没用到) 也能用来引入一个声明,正如import所为. 注意到我们可以把声明放进一个括号里,然后用分号将它们分隔开,如第7-10,和第14-17行所示. 但不是必要的,我们也可以这样做

   1.


   2.     const Space = " "
   3.     const Newline = "\n"

复制代码
。。。翻译中,未完待续。。。
0
0
分享到:
评论

相关推荐

    Goc编程工具

    **Goc编程工具详解** Goc编程工具是一种专为初学者设计的C++学习辅助工具,尤其适合小学二年级到高中的学生。它利用图形化界面来帮助用户理解和操作C++编程,使得复杂的编程概念变得更为直观易懂。在本文中,我们将...

    golang 语言编程

    《Golang语言编程》中文版教程是一份专为初学者设计的全面学习资源,旨在帮助读者快速掌握Go语言的基础知识和核心概念。...配合jb51.net上的资源,你可以找到更多的实践案例和进阶内容,进一步提升你的Go语言编程能力。

    实效GO编程

    《实效GO编程》即《Effective Go》,是Go语言官方提供的指导文档,旨在帮助开发者们更高效地使用Go语言进行编程。这份文档不仅适用于Go语言的初学者,也对那些希望深入理解和掌握Go语言的编程习惯和风格的程序员有着...

    尚硅谷_韩顺平_Go语言核心编程.docx

    Golang(Go语言)是一种开源的编程语言,它以其简洁的语法、高效的性能以及现代软件工程的最佳实践而受到广泛欢迎。在学习Golang时,可以重点关注以下几个方面: - **基础语法**:包括变量、数据类型、控制结构等...

    Go编程语言规范

    Go编程语言规范是Go语言开发者必须遵循的一套标准,它详细...通过上述解读,我们可以了解Go语言规范的丰富内容,这不仅适用于初学者,同样对有经验的Go开发者也至关重要,因为它为编写符合标准的代码提供了明确的指导。

    Go语言101一个与时俱进的Go编程知识库.zip

    微信群召集帖|公众号二维码见下方|中文项目地址Go语言101是关于Go语言编程的一系列丛书。目前本系列丛书包括《Go语言(基础知识)101》是一本关于Go语法语义(除了自定义泛型)以及运行时相关知识点的编程指导书...

    Go 编程语言+简介+指导原则+语音特性+存在的问题

    Go语言在设计时遵循了一些指导原则,如减少编译器需要跟踪的信息量(减少bookkeeping)、使用较少的关键字以减少无谓的输入,并设计了没有隐式转换的强类型系统,以及显式类型转换、指针运算和slice等特性,以提供...

    编程课程+GO语言编程+技术开发+系列课程

    本系列课程专为具备一定编程基础的中级开发者设计,旨在深入探索Go语言的各个方面,从而帮助学习者在云计算、微服务等热门技术领域中有效运用Go。课程内容全面,涵盖从Go语言基础到实战项目开发的全过程。 课程首先...

    Uber Go 语言编程规范 中文版.pdf

    《Uber Go 语言编程规范中文版》是一份详细的Go语言编码...通过遵循Uber的Go语言编程规范,开发者能够编写出更加高效、可维护的代码,同时提升团队间的代码一致性,减少潜在的bug,从而提高整体项目质量和开发效率。

    go语言编程(英文原版)

    ### Go语言编程(英文原版) #### 重要知识点解析 **1. Go语言的起源与发展** - **起源与演变**:Go语言是由贝尔实验室在2007年开始设计的一种新编程语言,由Robert Griesemer、Rob Pike及Ken Thompson共同开发...

    高清go web编程英文原版

    《高清Go Web编程英文原版》是一本专为Go语言Web开发人员精心编写的经典教程。这本书详尽地探讨了如何使用Go语言构建高效、可扩展的Web应用程序。Go语言,由Google公司设计,以其简洁的语法、高效的性能以及内置的...

    Go语言编程规范中文版-Google出品

    《Go语言编程规范中文版-Google出品》是Google官方针对Go语言制定的一份编码风格指南,旨在提升Go代码的可读性和一致性。这份规范不仅适用于Google内部的开发人员,也对外公开,为广大的Go程序员提供了参考。以下是...

    GOGUI编程开源代码.zip

    Go语言,全称Golang,是Google推出的一种静态类型的、编译式的、并发型、垃圾回收的、C风格的编程语言。它的设计目标是提高开发效率和程序性能,特别适合构建网络服务和分布式系统。 GoGTK,或gotk3,是Go语言的一...

    Go WEB 编程

    - **面向对象**:虽然Go语言不完全支持传统的面向对象编程,但可以通过结构体和接口来模拟面向对象的行为。 - **interface**:阐述接口的概念,如何定义接口以及如何实现接口的方法。 - **并发**:Go语言的一大特色...

    Go语言·云动力.pdf

    "Go语言编程"这本书可能涵盖了Go语言的基础到高级概念,包括但不限于: 1. **基础语法**:变量、常量、数据类型(如int、float、string、bool)、控制结构(if、for、switch)、函数、结构体和接口。 2. **包与...

    GO 语言学习辅导共220页.pdf

    Go语言,又称为Golang,是由Google开发的一种静态类型的、编译型的、并发型且垃圾回收的编程语言。它设计简洁、效率高,特别适合于编写服务器端和网络应用。Go语言的语法接近C语言,但同时也引入了诸如goroutine(轻...

Global site tag (gtag.js) - Google Analytics