首页 > 代码库 > Go语言学习笔记(一) [Go语言的HelloWorld]

Go语言学习笔记(一) [Go语言的HelloWorld]

日期:2014年7月18日

 
1、简介
    Go 编程语言是一个使得程序员更加有效率的开源项目。Go 是有表达力、简 洁、清晰和有效率的。它的并行机制使其很容易编写多核和网络应用,而新奇的类型系统允许构建有性的模块化程序。Go 编译到机器码非常快 速,同时具有便利的垃圾回收和强大的运行时反射。它是快速的、静态类型编译语言,但是感觉上是动态类型的,解释型语言。
    Go 是第一个实现了简单的(或更加简单的)并行开发,且跨平台的类 C 语言。
 
2、Go语言文档查看
    安装好Go语言之后,其文档可以通过go doc命令查看,例如查看fmt,在命令行输入go doc fmt即可。如果要查看某个包中的子目录的文档,使用go doc parent_package/son_directory,例如go doc hash/fnv
 
3、Go语言与其它语言的一些区别
    1)清晰并且简洁:Go 努力保持小并且优美,你可以在短短几行代码里做许多事情
    2)并行:Go 让函数很容易成为非常轻量的线程。这些线程在 Go 中被叫做 goroutines
    3)Channel :goroutines 之间的通讯由 channel完成
    4)快速:编译很快,执行也很快。目标是跟 C 一样快。编译时间用秒计算
    5)安全:当转换一个类型到另一个类型的时候需要显式的转换并遵循严格的规则。Go 有 垃圾收集,在 Go 中无须 free(),语言会处理这一切
    6)标准格式化:Go 程序可以被格式化为程序员希望的(几乎)任何形式,但是官方格式是存在 的。标准也非常简单:gofmt 的输出就是官方认可的格式
    7)类型后置:类型在变量名的后面,像这样 var a int,来代替 C 中的 int a
    8)UTF-8:任何地方都是 UTF-8 的,包括字符串以及程序代码。你可以在代码中使用
    9)开源:Go 的许可证是完全开源的
 
4、Go语言的Hello World
      (1)package main 
      (2)import "fmt" // 实现格式化的 I/O
           /* Print something */
      (3)func main() { 
      (4)       fmt.Printf("Hello,World!") 
      (5)}
     解释:
    第(1)行是必须的,所有的Go文件以package <something>开头,对于独立运行的执行文件必须是package main;
    第(2)行需要将fmt包加入main,在Go中,package必须先于import出现,当Go语言执行时,首先会调用main.main()
    第(4)行调用了fmt包中的函数来打印字符串到屏幕,字符串由 " 包裹,并且可以包 含非 ASCII 的字符。
    Go语言的代码注释和其它语言的用法基本一致,单行注释可用//,多行注释可用/*  */
    编译和运行:
        构建:go build helloworld.go,编译完成后会生成helloworld的可执行文件
        运行:./helloworld
        或者直接使用go run命令编译运行,go run helloworld.go
    例如:
   
    编译完成后:
   
     运行:
    
 
     或者: