Go的初级学习

1 篇文章 0 订阅

go语言学习

一、原生使用Go语言机型开发的部分项目:

  • Docker
  • Go语言
  • Kubernetes
  • etcd
  • beego
  • martini
  • codis
  • delve

二、Go语言标准库常见包

Go语言标准库包名功能
bufio带缓冲的I/O操作
bytes实现字节操作
container封装堆、列表和环形列表等容器
crypto加密算法
database数据库驱动和接口
debug各种调试文件格式访问及调试功能
encoding常见算法如JSON, XML, Base64等
flag命令行操作
fmt格式化操作
goGo语言的词法,语法树,类型等。可通过这个包进行代码信息提取和修改
htmlHTML转义及模板系统
image常见图形格式的访问及生成
io实现I/O原始访问接口及访问封装
math数学库
net网络库,支持Socket, HTTP, 邮件, RPC, SMTP等
os操作系统平台不依赖平台操作封装
path兼容各操作系统的路径操作实用函数
plugin插件系统。支持将代码编译为插件,按需加载
reflect语言反射支持。可以动态获得代码中的类型信息,获取和修改变量的值
regexp正则表达式封装
runtime运行时接口
sort排序接口
strings字符串转换,解析及实用函数
time时间接口
text文本模板及token词法器

三、第一个GO语言程序

在go语言中,所有函数都以关键字 func开头的,定义格式如下所示:

func 函数名(参数列表) (返回值列表){
    函数体
}

格式说明如下:

  • 函数名:由字母、数字、下划线 _ 组成,其中,函数名的第一个字母不能为数字,并且,在同一个包内,函数名称不能重名。
  • 参数列表:一个参数由参数变量和参数类型组成,例如func foo(a int, b string)
  • 返回值列表:可以是返回值类型列表,也可以是参数列表那样变量名与类型的组合,函数有返回值时,必须在函数体中使用return 语句返回。
  • 函数体: 能够被重复调用的代码片段。

注意:go语言函数的左大括号 { 必须和函数名称在同一行,否则会报错。

注意,Println 函数打印完成后会自动换行,ln是 line的缩写。

四、Go语言程序的编译和运行

go build 命令

go build命令用来启动编译,它可以将go语言程序与相关依赖编译成一个可执行文件,语法如下:

go build fileName
其中fileName 为所需要的参数,可以是一个或者多个Go源文件名(当有多个参数时需要使用 空格 将两个相邻的参数隔开),也可以省略不写。

使用 go build 命令进行编译时,不同参数的执行结果也是不同的。

1)当参数不为空时

如果fileName为同一 main包下的所有源文件名(可能有一个或者多个),编译器将生成一个与第一个fileName同名的可执行文件(如执行go build abc.go def.go...会生成一个 abc.exe文件);如果fileName为非main包下的源文件名,编译器将只对该包进行语法检查,不生成可执行文件。

2)当参数为空时

如果当前目录下存在 main包,则会生成一个与当前目录名同名的 “目录名.exe” 可执行文件(如在 hello 目录中执行go build命令时,会生成 hello.exe文件);如果不存在 main包,则只对当前目录下的程序源码进行语法检查,不会生成可执行文件。

go run 命令

go run命令将编译和执行指令合二为一,会在编译之后立即执行Go语言程序,但是不会生成可执行文件。

go run命令的语法格式如下:

go run fileName
其中fileName 为所需要的参数,参数必须是同一 main包下的所有源文件名,并且不能为空。
go install 安装命令
go run  命令运行,它会在编译后直接运行Go语言程序,编译过程中会产生一个临时文件,但不会生成可执行文件,这个特点很适合用来调试程序。
go build 命令可以将Go语言程序代码编译成二进制的可执行文件,但是需要我们手动运行该二进制文件;

五、Goland 常用快捷键

1)文件操作相关的快捷键

快捷键作用
Ctrl + E打卡最近浏览过的文件
Ctrl + N快速打开某个struct 结构体所在的文件
Ctrl + Shift + N快速打开文件
Shift + F6重命名文件夹、文件、方法、变量名等

2)代码格式化相关的快捷键

快捷键作用
Ctrl + Alt + L格式化代码
Ctrl + 空格代码提示
Ctrl + /单行注释
Ctrl + Shift + /多行注释
Ctrl + B 或 F4快速跳转到结构体或者方法的定义位置(需将光标移动到结构体或方法的名称上)
Ctrl + “+ 或 -”可以将当前(光标所在位置)的方法进行展开或折叠

3)查找和定位相关的快捷键

快捷键作用
Ctrl + R替换文本
Ctrl + F查找文本
Ctrl + Shift + F全局查找
Ctrl + G显示当前光标所在行的行号
Ctrl + Shift + Alt + N查找类中的方法或变量

4)编辑代码相关的快捷键

快捷键作用
Ctrl + J快速生成一个代码片段
Shift + Enter向光标的下方插入一行,并将光标移动到该行的开始位置
Ctrl + X删除当前光标所在行
Ctrl + D复制当前光标所在行
Ctrl + Shift + 方向键上或下将光标所在的行进行上下移动(也可以使用Alt + Shift + 方向键上或下)
Alt + 回车自动导入需要导入的包
Ctrl + Shift + U将选中的内容进行大小写转化
Alt + Insert生成测试代码
Alt + Up/Down快速移动到上一个或下一个方法
Ctrl + Alt + Space类名或接口名提示(代码提示)
Ctrl + P提示方法的参数类型(需在方法调用的位置使用,并将光标移动到()的内部或两侧)

5)编辑器相关的快捷键

快捷键作用
Ctrl + Alt + left/right返回至上次浏览的位置
Alt + left/right切换代码视图
Ctrl + W快速选中代码
Alt + F3逐个向下查找选中的代码,并高亮显示
Tab代码标签输入完成后,按Tab, 生成代码
F2 或 Shift + F2快速定位错误或警告
Alt + Shift + C查看最近的操作
Alt + 1快速打开或隐藏工程面板

六、GO语言基本语法

1.变量的声明(使用var关键字)

go的基本类型有:

  • bool
  • string
  • int、 int8、int32、int64
  • uint、uint8、uint32、uint64、uintptr
  • byte //uint8的别名
  • rune //int32 的别名 代表一个Unicode码
  • float32、float64
  • complex64、complex128

当一个变量被声明之后,系统会自动赋予它该类型的零值: int为0,float为 0.0, bool为false, string为空字符串,指针为nil等。所有的内存在Go中都是经过初始化的。

变量的命名规则遵循小驼峰命名法,即首字母小写,例如:numShips和 startDate.

变量的声明有三种方式:

1.1 标准格式
var 变量名  变量类型
例如: 
var name  type
var a, b *int	
1.2批量格式
var (
	a int
    b string
    c []float32
    d func() bool
    e struct {
        x int
    }
)

使用关键字 var 和括号,可以将一组变量定义放在一起。

1.3 简短格式
名字 := 表达式
例如:
i,j := 0,1
func main() {
    x := 100
    a,s := 1, "abc"
}    

注意,简短模式有以下限制:

  • 定义变量,同时显示初始化。
  • 不能提供数据类型。
  • 只能用在函数内部。

简短变量声明大多用于局部变量的声明和初始化。var形式的声明语句往往用于需要显示指定变量类型的地方,或者因为变量稍后会被重新赋值而初始值无关紧要的地方。

2.变量的初始化

每个变量会初始化其类型的默认值,例如:

  • 整型和浮点型变量的默认值为0和0.0。
  • 字符串变量的默认值为空字符串。
  • 布尔型变量默认为bool。
  • 切片、函数、指针变量的默认为nil。

也可以在变量声明时赋予变量一个初始值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值