
一起来学GO语言
一起学习GO语言
刘彦青-Yannis
这个作者很懒,什么都没留下…
展开
-
Go 语言基础——协程(goroutine)&共享内存线程安全
协程(goroutine)是更轻量级的线程比Java中的线程效率更高协程语法go func() { //...}()一旦主goroutine中的代码执行完毕,当前的Go程序就会结束运行,无论其他的 goroutine是否已经在运行了。让主goroutine等待其它 goroutine:for i := 0; i < 10; i++ ...原创 2019-08-21 16:29:06 · 1747 阅读 · 0 评论 -
Go 语言基础—— 通道(channel)
通过通信来共享内存(Java是通过共享内存来通信的)定义func service() string { time.Sleep(time.Millisecond * 50) return "Done"}func AsyncService() chan string { retCh := make(chan string, 1)//创建一个容量...原创 2019-08-21 17:25:18 · 1114 阅读 · 0 评论 -
GO语言基础——优雅的进行程序测试
我们可以为Go程序编写三类测试,即:功能测试(test)、基准测试(benchmark),也称性能测试(example)测试文件的约定测试文件的主名称应该以被测试文件主名称为先导,并且以_test为后缀。例:demo.go 的测试文件名称应为demo_test.go。一般情况下一个测试文件只给一个源码文件做测试,demo_test.go只测试demo.go文件。测试文件与被测试文件应该放...原创 2019-08-21 13:54:41 · 380 阅读 · 0 评论 -
Go 语言基础——错误处理
学习目标掌握错误处理掌握自定义错误处理掌握defer关键字的使用错误处理GO没有异常处理机制Go语言引入了一个关于错误处理的标准模式,即error接口,该接口的定义如下:type error interface { Error() string}实例可以通过errors.New快速创建错误实例errors.New("错误信息")...原创 2019-08-19 11:06:44 · 396 阅读 · 0 评论 -
Go 语言基础——变量&常量的定义
go语言不支持隐式类型转换,别名和原有类型也不能进行隐式类型转换go语言不支持隐式转换变量变量声明var v1 int var v2 string var v3 [10]int // 数组 var v4 []int // 数组切片 var v5 struct { //定义结构体(Java中的实体类,自定义类型) f i...原创 2019-08-19 10:47:57 · 509 阅读 · 0 评论 -
Go语言基础篇(5) —— Go语言的结构体与函数(行为|方法)
学习目标掌握函数的定义与使用函数可以有多个返回值参数都是值传递: slice, map, channel会有传引用的错觉函数可以作为变量的值(和Java中的对象相似)函数可以作为参数和返回值(和Java中的对象相似)函数定义package mymath //包import "errors" //引入依赖 func Add(a int, b int) (r...原创 2019-08-09 18:31:56 · 1119 阅读 · 0 评论 -
Go语言基础篇(4) —— Go语言常用的数据结构
学习目标掌握常见数据类型的使用布尔类型var v1 bool //默认值为falsev1 = true v2 := (1 == 2) // v2也会被推导为bool类型 数值类型整型:int8、byte、int16、int、uint、uintptr等。类型长度(字节)取值范围int81-128 ~ 127uint8(即byte)10 ~ ...原创 2019-08-09 17:23:14 · 497 阅读 · 0 评论 -
Go语言基础篇(3) —— Go语言循环&判断&选择语句
学习目标掌握条件语句,选择语句,循环语句条件语句if a < 5 { return 0 } else { return 1 } 注意:条件语句不需要使用括号将条件包含起来();无论语句体内有几条语句,花括号{}都是必须存在的;左花括号{必须与if或者else处于同一行;在if之后,条件语句之前,可以添加变量初始化语句,使用;间隔;在有返...原创 2019-08-09 17:55:29 · 339 阅读 · 0 评论 -
Go语言基础篇(2) —— 编写第一个Go程序
创建文件hello_world.gopackage main //包,表名代码所在的包import "fmt" //引入依赖//main方法func main(){ fmt.Println("Hello World!")}运行指令: go run hello_world.go编译指令: go build hello_world.go应用程序入口语法说明...原创 2019-08-09 17:14:08 · 928 阅读 · 0 评论 -
Go语言基础篇(1) —— 环境搭建
Go语言不像Java语言,直接下载安装就行了:下载安装Go语言:https://golang.google.cn/dl/选择你要现在的安装报点击next安装:二、安装IDEvisual studio Code 、Atom、 idea都支持Go给idea 安装 go插件验证go是否正常安装:go version...原创 2019-08-09 17:11:31 · 960 阅读 · 0 评论 -
Go 语言基础——init函数
package Seriesimport "fmt"func init() { fmt.Println("init1")}func init() { fmt.Println("init2")}func Square(n int) int { return n * n}func GetFibonacciSerie(n int) []int {...原创 2019-08-19 10:18:48 · 541 阅读 · 0 评论 -
Go 语言基础——package&依赖管理
依赖语法 /*格式: import xxx/xxx/package值注意根目录是src*///方式一:import testting//方式二: 可以依赖多个包import ( "testing")//方式三: 也可以给package起个别名,直接用别名调用包的函数import ( t "testing") 1. g...原创 2019-08-19 10:22:27 · 424 阅读 · 0 评论