Go语言笔记
Go入门
学习网址
安装
- 下载msi包并安装
- 配置Go语言bin目录到环境变量
文件结构:类似java
hello world
package main import "fmt" func main() { /* 这是我的第一个简单的程序 */ fmt.Println("Hello, World!") }
执行方式
命令行输入
go run test.go
数据类型
布尔型
var a bool = true
数字类型
var a int = 2
var b float =2.1
字符串类型
派生类型
- (a) 指针类型(Pointer)
- (b) 数组类型
- (c) 结构化类型(struct)
- (d) Channel 类型
- (e) 函数类型
- (f) 切片类型
- (g) 接口类型(interface)
- (h) Map 类型
变量
单声明变量:两种方式
var a int = 10
c := 10//出现在:=左侧的变量不应该是已经被声明过的,否则会导致编译错误,且这种声明方式只能出现在函数体中
多变量声明:不申明类型与申明类型
var a, b, c int
a,b,c = 1, 2, 3
var a, b, c = 1, 2, "hi"
var {// 这种因式分解关键字的写法一般用于声明全局变量
a int
b float
}
常量
常量的数据类型可为:布尔型、数字型(整型、浮点和复数)和字符串型
const identifier [type] = value//定义格式
const a string = "abc"//显示类型定义
const b = "abc"//隐式类型定义
const a, b = "abc", 1//多常量声明
iota:初始化为0,每次新的一行,均会自增1的常量:计数器
const {
a = iota//0
b //1
c //2
}
运算符
算术运算符
+、-、*、/、%、++、–
关系运算符
==、!=、>、<、>=、<=
逻辑运算符
&&、||、!
位运算符
&、|、^、<<、>>
赋值运算符
=、+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=
其他运算符
&、*
条件语句
- if 语句
- if … else 语句
- if 嵌套语句
- switch 语句
- select 语句:类似switch,但是会随机执行一个可运行的case,若无case则阻塞直至有case可运行
循环语句
- for循环
- 循环嵌套
循环控制语句
- break
- continue
- goto
无限循环
for true{
...
}
for 循环
非迭代型
for init; condition; post {
//init:变量赋初值
//condition:关系表达式,循环控制条件
//post:变量增量或减量
...
}
迭代型
for key, value := range oldMap {
newMap[key] = value
}
//实例如下
package main
import "fmt"
func main() {
numbers := [6]int{1, 2, 3, 5}
for i, x:= range numbers {