go语言快速入门笔记
基础语法
基础结构
package main
import "fmt"
func main() {
fmt.Println("你好 go语言")
}
编译方式
以下命令都需要在终端执行
go build xxx.go 用于测试编译包,主要检查是否会有编译错误,如果是一个可执行文件的源码(即是 main 包),就会在当前目录直接生成一个可执行文件。
go run xxx.go 编译并直接运行程序,它会产生一个临时文件(但实际不存在,也不会生成 .exe 文件),直接在命令行输出程序执行结果,方便用户调试。
注释
go语言基础注意点
- 每条语句的换行都代表当前语句结束,无需分号结尾
- main函数外只能声明变量不能复制
- 变量声明后不使用就会报错
go fmt xxx.go 可以解决go语句的缩进
go语言关键字
- var和const :变量和常量的声明
- var varName type 或者 varName : = value
- package and import: 导入
- func: 用于定义函数和方法
- return :用于从函数返回
- defer someCode :在函数退出之前执行
- go : 用于并行
- select 用于选择不同类型的通讯
- interface 用于定义接口
- struct 用于定义抽象数据类型
- break、case、continue、for、fallthrough、else、if、switch、goto、default 流程控制
- chan用于channel通讯
- type用于声明自定义类型
- map用于声明map类型数据
- range用于读取slice、map、channel数据
保留字
| | | | | |
|---|
| break | default | func | interface | select | case | case |
| defer | go | map | struct | chan | else |
| goto | package | switch | struct | const | fallthrough |
| if | range | type | continue | for | import |
| return | var | type | | | |
变量声明
package main
import "fmt"
func main() {
fmt.Println("你好 go语言")
var name string = "依风"
var age string = "19"
var slogan string = "一篇文章就入门"
fmt.Println(name,age,slogan)
var n string
var a string
var s string
fmt.Printf(n,a,s)
var (
c string
d string
e string
f string
)
fmt.Printf(c,d,e,f)
var name1 ,age1 = "依风666", 19
fmt.Printf(name1,age1)
name2:="依风777"
age2:=19
fmt.Printf(name2,age2)
const name3 = "依风888"
fmt.Println(name3)
}
运算符
算术运算符
package main
import "fmt"
func main() {
a:=10
b:=10
fmt.Println(a-b,"减法")
fmt.Println(a+b,"加法")
fmt.Println(a*b,"乘法")
fmt.Println(a/b,"除法")
fmt.Println(a%b,"求余")
}
关系运算符
package main
import "fmt"
func main() {
a:=10
b:=10
fmt.Println(a>=b)
fmt.Println(a<=b)
fmt.Println(a==b)
fmt.Println(a!=b)
fmt.Println(a>b)
fmt.Println(a<b)
}
逻辑运算符
package main
import "fmt"
func main() {
a:=10
b:=10
fmt.Println(a>5 && b>20)
fmt.Println(a < 5 || b>20)
}
赋值运算符
package main
import "fmt"
func main() {
a:=10
b:=10
a += b
fmt.Println(a)
a -= b
fmt.Println(a)
a *= b
fmt.Println(a)
a /= b
fmt.Println(a)
a %= b
fmt.Println(a)
}
条件循环语句
if语句
package main
import "fmt"
func main() {
var num = 2
if num > 10{
fmt.Println("大于")
}else if num < 10 && num > 5 {
fmt.Println("小于")
}else {
fmt.Println("啥也不是")
}
}
for语句
package main
import "fmt"
func main() {
for i:=0; i < 10; i++ {
}
for i:=0; i < 10; i++ {
if i > 3 {
break
}
fmt.Println(i)
}
fmt.Println("————————————————————————————————————")
for i:=0; i < 10; i++ {
if i == 5 {
continue
}
fmt.Println(i)
}
}
switch语句
package main
import "fmt"
func main() {
day:= 2
switch day {
case 1: fmt.Println("周一")
case 2: fmt.Println("周二")
case 3: fmt.Println("周三")
default: fmt.Println("没有这一天")
}
}