go
文章平均质量分 59
hahyyy
把不学习的!都抓去浸猪笼!
展开
-
Go-15-异常处理
在python、java等语言中有try...catch机制,在try中捕获各种类型的异常,在catch中定义异常处理的行为。error往往是能预知的错误,但是也可能出现一些不可预知的错误,例如数组越界,这种错误可能会导致程序非正常退出,在Go语言中称之为panic。error类型是一个接口类型,该接口声明中只包含一个Error方法,它不接收任何参数,返回一个String类型的结果。使用error的场景:用于声明函数返回值,如果函数执行正确返回nil,执行出错返回一个error。...原创 2022-08-11 21:47:17 · 276 阅读 · 0 评论 -
Go-14-数组与切片
Go语言数组声明需要指定元素类型及元素个数语法格式:var variable_name [SIZE] variable_type定义了数组balance长度为5类型的float32如果设置了数组的长度,还可以通过指定下标来初始化元素// 将索引为1和3的元素初始化如果数组长度不确定,可以使用...代替数组的长度,编译器会根据元素个数自行推断数组的长度未指定大小的数组即:定义切片使用make()函数来创建切片// 也可以简写为也可以指定容量,其中capacity为可选参数。...原创 2022-08-11 20:58:51 · 1168 阅读 · 0 评论 -
Go-13-配置文件读取
Viper可以同时从不同的位置读取配置,不同位置的配置具有不同的优先级,高优先级的配置会覆盖低优先级相同的配置,按优先级从高到低排列如下。读取配置只需要调用viper.GetString()、viper.GetInt()和viper.GetBool()等函数即可。// 调用viper.GetString() viper.GetInt() viper.GetBool()在apiserver/conf/config.yaml(默认配置文件名字固定为config.yaml)...原创 2022-08-09 21:30:50 · 499 阅读 · 0 评论 -
Go-12-结构体
结构体定义需要使用 type 和 struct 语句struct 语句定义一个新的数据类型,结构体中有一个或多个成员type 语句设定了结构体的名称定义一个结构体Student,并为Student添加name,age字段age int}原创 2022-08-07 19:53:22 · 122 阅读 · 0 评论 -
Go-11-流程控制
Go语言提供了以下几种条件判断语句if语句后可以使用可选的else语句else语句中的表达式在布尔表达式为false时执行类似于switch语句,但是select会随机执行一个可运行的case如果没有case可运行,它将阻塞,直到有case可运行。...原创 2022-08-07 16:13:41 · 66 阅读 · 0 评论 -
Go-10-模块与包
一般来说,一个文件夹可以作为package,同一个package内部变量、类型、方法等定义可以相互看到go语言也有public和private的概念,粒度是包如果类型/接口/方法/函数/字段的首字母大写,则是public的,对其他package可见如果首字母小写,则是private的,对其他package不可见比如我们新建⼀个文件 calc.go,main.go平级,分别定义add和main 方法运行go run main.go,会报错,说add未定义。...原创 2022-08-07 15:24:50 · 161 阅读 · 0 评论 -
Go-9-数据类型-函数
Go语言是静态类型的,变量声明时必须明确变量的类型Go语言与其他语言显著不同的一个地方在于,Go语言的类型在变量后面var a int // 如果没有赋值,默认为0var b int = 1 // 声明时赋值var c = 1 // 声明时赋值d := 1 // 只能在函数体中使用msg := "hello world" // 只能在函数体中使用var e, f int = 1, 2 // 一次声明多个变量变量需要定义后再使用:=左侧的变量不应该时已经被声明过的,否则会导致编译错误。...原创 2022-08-04 11:29:47 · 183 阅读 · 0 评论 -
Go-8-Gin框架
Gin框架的优点:轻量级,高性能、扩展性强、稳定性强、相对而言比较简洁Gin是使用Go/golang语言实现的HTTP Web框架,接口简洁,性能极高。原创 2022-08-03 21:15:11 · 1244 阅读 · 0 评论 -
Go-7-RESTful API的设计
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数或者接口,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无须访问源码,或理解内部工作机制的细节。要实现一个 API 服务器,首先要考虑两个方面:API 风格RPCREST媒体类型JSONXMLProtobuf在 Go API 开发中常用的组合是 gRPC + Protobuf 和 REST + JSON。...原创 2022-08-03 20:07:01 · 111 阅读 · 0 评论 -
Go-6-常用命令-go包管理问题-两个路径-GO111MODULE
所谓的vendor机制,就是每个项目的根目录下可以有一个vendor目录,里面存放了该项目的依赖的package。这种方式的最大弊端就是无法实现包的多版本控制,比如项目A和项目B依赖与不同版本的package,如果package没有左到完全的向前兼容,往往会导致一些问题。模块支持,go会忽略GOPATH和vendor文件夹,只根据go.mod下载依赖。gomodinitxxx.go#初始化,会生成go.mod文件。GOPATHgo指定的工作空间--用于保存go项目的代码和第三方依赖包。...原创 2022-08-01 22:07:16 · 741 阅读 · 0 评论 -
Go-5-简单介绍fmt库
fmt是一个用于输入输出常用的库在fmt包中,有关格式化输入输出的方法就两大类Scan和Print,分别在scan.go和print.go文件中。原创 2022-08-01 20:57:56 · 274 阅读 · 0 评论 -
Go-4-在vim中无法跳转到源代码
这一步如果获取不到,需要在当前目录下,创建一个新的文件夹。#在新文件夹里进行初始化,生成一个go.mod文件。问题couldnotfind‘guru’正常情况下,在vim中要跳转到源代码。#设置module管理模式。快捷键CTRL+]快捷键CTRL+o。#获取guru安装。...原创 2022-08-01 20:21:50 · 272 阅读 · 0 评论 -
Go-3-第一个Go程序
新建一个文件 ~/code/example.go运行代码 配置安装源原创 2022-07-03 17:15:27 · 73 阅读 · 0 评论 -
Go-2-Vim IDE常用功能
在代码间跳来跳去,将光标放在某个函数调用上,按 ctl + ] 就会跳到函数的定义处,按 ctrl + o 就会跳回来。 退出某模式的窗口,使用末行模式 :q即可 注意:在vim中粘贴文本,需要 :set paste 就能正常粘贴好了! ...原创 2022-07-03 17:00:14 · 148 阅读 · 0 评论 -
Go语言-1-开发环境配置
开发环境配置原创 2022-07-03 16:54:15 · 123 阅读 · 0 评论