-
Linux系统下Go语言编程环境安装,快速起步!
二进制包 Linux 下,推荐通过二进制包部署 Go 语言开发环境。首先,从 Go 官网 下载页面 下载二进制包。 下载完毕后,将压缩包解压到家目录的 opt 目录中,以 1.10.3 版本为例: 1 2 $ mkdir -p ~/opt $ tar -xf go1.10.3.linux-amd64.tar.gz -C ~/opt 解压完毕后,我们可以看到这些目录和文件: 1 2 3 $ ls ~/opt/go api bin CONTRIBUTING.md doc lib misc pkg robots.txt test AUTHORS blog CONTRIBUTORS favicon.ico LICENSE PATENTS README.md src VERSION 其中, Go 语言开发工具就位于 bin 目录下。 尝试运行 go 命令: 1 2 $ ~/opt/go/bin/go version go version go1.阅读全文 -
Go语言包简介
阅读全文每个 Go 程序都是由一些包组成的,程序从 main 包中的 main 函数开始执行。
1 2 3 4 5 6 7 8 9 10 11
package main import ( "fmt" "math/rand" ) func main() { fmt.Println("My favorite number is", rand.Intn(10)) }
在这个程序,通过 import 导入两个包, fmt 和 math/rand (包路径)。
-
Go语言学习资料
阅读全文 -
Go语言函数入门
阅读全文Go 语言中,函数可以接受零或多个参数:
1 2 3 4 5 6 7 8 9 10 11
package main import "fmt" func add(x int, y int) int { return x + y } func main() { fmt.Println(add(43, 13)) }
在这个例子中, add 函数接受两个 整型( int )参数。注意到,类型申明紧跟在参数名之后,这跟其他语言有些区别。
-
Go语言变量概述
阅读全文var 语句 申明( declare )变量列表; 跟 函数 参数列表一样,类型在最后指定。
var 语句的作用域(可见范围)可以是 包级别 或者 函数级别 。 下面这个例子同时包含这两种级别:
1 2 3 4 5 6 7 8 9 10 11
package main import "fmt" var c, python, java bool func main() { var i int fmt.Println(i, c, python, java) }
作用域是啥意思呢?
-
Go语言基本类型
阅读全文Go 内置了以下基本类型:
- 布尔
- bool
- 字符串
- string
- 整数
- int int8 int16 int32 int64
- uint uint8 uint16 uint32 uint64
- 字节
- byte ,uint8 的别名
- Unicode
- rune ,int32 的别名
- 浮点
- float32 float64
- 复数
- complex64 complex128
- 布尔
-
Go语言常量定义
阅读全文常量( constant )申明与变量一样,只不过换成
const
关键字。常量可以是字符、字符串、布尔,或者数值类型。另外,常量不能使用:=
语法申明。1 2 3 4 5 6 7 8 9 10 11 12 13 14
package main import "fmt" const Pi = 3.14 func main() { const World = "世界" fmt.Println("Hello", World) fmt.Println("Happy", Pi, "Day") const Truth = true fmt.Println("Go rules?", Truth) }
-
Go语言for循环语句
阅读全文Go 语言只有一种循环结构—— for 循环。
最基本的 for 语句包含 3 部分,以分号
;
分隔:- 初始语句 :在第一次迭代判断之前;
- 条件语句(表达式) :在每次迭代前求值并判断;
- 迭代后语句 :在每次迭代后执行;
1 2 3
for 初始语句; 条件语句; 迭代后语句 { 代码体 }
当条件表达式求值为
false
时,循环将停止迭代并退出。 -
Go语言if判断语句
阅读全文跟 for 语句 一样, if 语句条件表达式不需要括号包围,但花括号却不能省略。我们来看一个例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
package main import ( "fmt" "math" ) func sqrt(x float64) string { if x < 0 { return sqrt(-x) + "i" } return fmt.Sprint(math.Sqrt(x)) } func main() { fmt.Println(sqrt(2), sqrt(-4)) }
sqrt 函数计算平方根,并以字符串形式返回。如果对负数求根(第 9 行),将以虚数形式返回。
-
Go语言switch语句
阅读全文switch 语句也是一种经典控制语句,可以看做是 if-else 语句链的简写。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
package main import ( "fmt" "runtime" ) func main() { fmt.Print("Go runs on ") switch os := runtime.GOOS; os { case "darwin": fmt.Println("OS X.") case "linux": fmt.Println("Linux.") default: // freebsd, openbsd // plan9, windows... fmt.Printf("%s.\n", os) } }
Go 语言 switch 结构跟 C 、 C++ 、 Java 、 JavaScript 以及 PHP 等类似,不同的是,Go 只执行匹配的 case 代码体,不包括下面的。