GO语言安装、变量
简介
Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。
Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。
创始人
1) Ken Thompson
贝尔实验室 Unix 团队成员,C语言、Unix 和 Plan 9 的创始人之一,在 20 世纪 70 年代,设计并实现了最初的 UNIX 操作系统,仅从这一点说,他对计算机科学的贡献怎么强调都不过分。他还与 Rob Pike 合作设计了 UTF-8 编码方案。
2) Rob Pike
Go语言项目总负责人,贝尔实验室 Unix 团队成员,除帮助设计 UTF-8 外,还帮助开发了分布式多用户操作系统 Plan 9、Inferno 操作系统和 Limbo 编程语言,并与人合著了《The Unix Programming Environment》,对 UNIX 的设计理念做了正统的阐述。
3) Robert Griesemer
就职于 Google,参与开发 Java HotSpot 虚拟机,对语言设计有深入的认识,并负责 Chrome 浏览器和 Node.js 使用的 Google V8
特性
Go 语言最主要的特性:
- 自动垃圾回收
- 更丰富的内置类型
- 函数多返回值
- 错误处理
- 匿名函数和闭包
- 类型和接口
- 并发编程
- 反射
- 语言交互性
Go 语言环境安装
Go 语言支持以下系统:
-
Linux
-
FreeBSD
-
Mac OS X(也称为 Darwin)
-
Windows
Windows默认情况下 .msi 文件会安装在 c:\Go 目录下。你可以将 c:\Go\bin 目录添加到 Path 环境变量中。添加后你需要重启命令窗口才能生效。
测试是否安装成功
go文件以.go为后缀,在C:\test\下创建一个test.go文件,如下:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
使用go run命令运行,出现结果则安装成功。
C:\test\go run test.go
Hello, World!
go run 是运行go文件,还有一些其他命令,如go install 、 go build等
打印语句
fmt.Println("Hello, World!")
fmt包下有多条打印的方法,Println是打印后换行,Printf是格式化打印,Print是打印。。。
变量、常量及关键字
变量
Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。
go中变量声明后必须被使用,否则不通过编译
声明变量的一般形式是使用 var 关键字:
var var_name type
var name string
var num int16
关于变量声明,有多种方式
1、指定变量类型,如果没有初始化,则变量默认为零值。
var name string="Tom"
fmt.Println(name)
var age int8
age=10
fmt.Println(age)
var height float32//默认为零值
fmt.Println(height)
//Tom
//10
//0
2、根据值自行判定变量类型。
var sum=100
fmt.Printf("类型为%T,值为%d",sum,sum)
//类型为int,值为100
3、省略 var, 注意 := 左侧如果没有声明新的变量,就产生编译错误,格式:
hello:="你好,Hello!"
fmt.Printf("类型为%T,值为%s",hello,hello)
//类型为string,值为你好,Hello!
常量
const num=8
const hello="Hello World!"
fmt.Printf("num的类型是%T\n",num)
fmt.Printf("hello的类型是%T,长度是%d",hello,len(hello))
iota
iota,特殊常量,可以认为是一个可以被编译器修改的常量。
iota 在 const关键字出现时将被重置为 0(const 内部的第一行之前),const 中每新增一行常量声明将使 iota 计数一次(iota 可理解为 const 语句块中的行索引)。
iota 可以被用作枚举值:
const(
a=iota
b
c
d=iota
)
fmt.Println("a:",a)
fmt.Println("b:",b)
fmt.Println("c:",c)
fmt.Println("d:",d)
//a: 0
//b: 1
//c: 2
//d: 3
关键字
下面列举了 Go 代码中会使用到的 25 个关键字或保留字:
break | default | func | interface | select |
---|---|---|---|---|
case | defer | go | map | struct |
chan | else | goto | package | switch |
const | fallthrough | if | range | type |
continue | for | import | return | var |
除了以上介绍的这些关键字,Go 语言还有 36 个预定义标识符:
append | bool | byte | cap | close | complex | complex64 | complex128 | uint16 |
---|---|---|---|---|---|---|---|---|
copy | false | float32 | float64 | imag | int | int8 | int16 | uint32 |
int32 | int64 | iota | len | make | new | nil | panic | uint64 |
println | real | recover | string | true | uint | uint8 | uintptr |
程序一般由关键字、常量、变量、运算符、类型和函数组成。
程序中可能会使用到这些分隔符:括号 (),中括号 [] 和大括号 {}。
程序中可能会使用到这些标点符号:.、,、;、: 和 …。
关键字代表不同的意思,比如defer代表延迟,go代表启动并发,goto代表跳转等等。。。