♥Go♥
go go go
crl7-key
千里之行,始于足下
展开
-
Golang环境windows 设置 GOROOT 和 GOPATH
Golang 里面有两个非常重要的环境变量 GOROOT 和GOPATH,其中:GOROOT是安装 golang 的路径GOPATH 是我们定义的自己的工作空间。如果在安装的时候是一路 next 完的,那么默认就配置好了 ,无需手动配置。如果在安装的时候修改了默认的安装路径,那么可能需要自己添加一下 。1 . 先在环境变量中添加 GOPATH,值为 Golang 的安装目录2 .然后在环境变量 PATH中添加 Golang 安装目录下的 bin 文件夹。3 .接着添加一个环境变量 GO原创 2021-09-28 11:53:03 · 10957 阅读 · 1 评论 -
Go语言学习之并发编程-DateWhale开源学习
目录并发与并行进程和线程为什么需要并发? Go并发协程和线程协程GoroutinesWaitGroupOnce互斥锁MutexRWMutex条件变量CondMapPool原子操作通道Channel简单应用通过sync实现单例访问多个url并发与并行并行: 多个cpu处理多个任务,即多线程程序在多个核的cpu上运行并发: 一个cpu处理多个任务,即多线程程序在一个核的cpu上运行进程和线程进程是程序在操作系统中的一次执行过程,系统进行资源分配原创 2020-12-26 21:45:16 · 202 阅读 · 0 评论 -
Go语言学习之单元测试-DateWhale
目录初探Go单元测试在日常开发中,我们通常需要针对现有的功能进行单元测试,以验证开发的正确性。 在go标准库中有一个叫做testing的测试框架,可以进行单元测试,命令是go test xxx。初探Go单元测试现在假设现在需求是:完成两个复数相加,我们只需要一个函数便可以完成该任务。在开发中,我们需要对该函数进行功能测试,如何快速进行单元测试呢?鼠标放在函数上右键,选择GO:Generate Unit Tests For Function即可生成file_test.go文件。随后在测试文原创 2020-12-25 22:44:12 · 152 阅读 · 0 评论 -
Go语言学习之反射机制-DateWhale开源学习
目录反射是什么?反射的作用反射的实现反射的实践反射是什么?反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。Go 语言提供了一种机制在运行时更新变量和检查它们的值、调用它们的方法,但是在编译时并不知道这些变量的具体类型原创 2020-12-24 20:17:57 · 327 阅读 · 2 评论 -
Go语言学习之异常处理-DateWhale开源学习
目录errorpanic源码分析errorGo语言内置了一个简单的错误接口作为一种错误处理机制,接口定义如下:http://golang.org/pkg/builtin/#errortype error interface { Error() string}它包含一个 Error() 方法,返回值为stringGo的error构造有两种方式,分别是第一种:errors.New()http://golang.org/src/pkg/errors/errors.goerr :=原创 2020-12-23 22:19:38 · 213 阅读 · 0 评论 -
Go语言学习之包管理-DateWhale开源学习
目录[Go Modules是什么?](#Go Modules是什么?)[Go Modules的使用方法](#Go Modules的使用方法)Go Modules是什么?Go语言通过包管理来封装模块和复用代码,这里我们只介绍Go Modules管理方法Go Modules于Go语言1.11版本时引入,在1.12版本正式支持,是由Go语言官方提供的包管理解决方案Modules是相关Go包的集合,是源代码交换和版本控制的单元。go命令直接支持使用Modules,包括记录和解析对其他模块的依赖性G原创 2020-12-21 19:33:03 · 137 阅读 · 0 评论 -
Go语言学习之结构体、方法、接口-DateWhale开源学习
目录结构体结构体定义结构体的初始化结构体的基本使用字段标签方法(method)方法接收者方法和函数的区别receiver传值和传指针的区别接口(interface)接口定义空接口结构体Go语言中没有“类”的概念,也不支持像继承这种面向对象的概念。但是Go语言的结构体与“类”都是复合结构体,而且Go语言中结构体的组合方式比面向对象具有更高的扩展性和灵活性。结构体定义结构体一般定义如下:type 类型名 struct { 字段名 字段类型原创 2020-12-21 17:26:30 · 646 阅读 · 0 评论 -
Go语言学习之函数-DateWhale开源学习
目录函数定义值传递与引用传递可变参数任意类型的不定参数 命名返回值匿名函数闭包defer函数函数定义在Go中,使用关键字func进行声明和定义:func function_name( [parameter list] ) [return_types]{ body of the function}functionName:代表函数名。parameter list:代表参数列表,函数的参数是可选的,可以包含参数也可以不包含参数。returnTypes:返回值类型,返回原创 2020-12-20 01:35:28 · 521 阅读 · 2 评论 -
Go数组、切片-DateWhale开源学习
目录数组Array切片Slice数组Array原创 2020-12-19 23:07:35 · 244 阅读 · 0 评论 -
Go字典、字符串-DateWhale开源学习
目录字典map定义map的基本使用判断某个键是否存在使用delete()函数删除键值对元素为map类型的切片值为切片类型的map函数作为值类型存入到map字符串字典map是一种较为特殊的数据结构,在任何一种编程语言中都可以看见他的身影,一种无序的基于key-value的数据结构,通过给定的key可以快速获得对应的value。Go语言中的map是引用类型,必须初始化才能使用。map定义Go语言中 map的定义语法如下 map[KeyType]ValueType其原创 2020-12-17 13:21:21 · 447 阅读 · 0 评论 -
Go变量 、常量、枚举-DateWhale开源学习
目录变量变量声明多变量声明常量iota枚举普通枚举自增枚举变量变量,计算机语言能存储计算结果或表示值的抽象概念。可以通过变量名访问,变量名由字母、数字、下划线组成,其中首个字符不能为数字。Go语言中的变量需要声明后才能使用,同一作用域内不支持重复声明。并且Go语言的变量声明后必须使用。声明变量的一般形式是使用var关键字:var identifier typevar identifier1, identifier2 type变量声明方式:变量声明原创 2020-12-17 09:30:03 · 194 阅读 · 0 评论 -
Go运算符、控制语句-DateWhale开源学习
目录运算符算数运算符关系运算符逻辑运算符位运算赋值运算符其他运算符优先级控制语句条件语句if语句switch语句select语句循环语句 for循环循环嵌套循环控制语句运算符假定A值为10,B值为20。算数运算符运算符描述实例+相加A + B 输出结果 30-相减A - B输出结果 -10*相乘A * B 输出结果 200/相除B / A 输出结果 2%求余B % A 输出原创 2020-12-16 23:44:50 · 483 阅读 · 0 评论 -
Go数据类型、关键字、标识符- DateWhale开源学习
目录Golang文件名Go语言命名Go语言声明数据类型关键字25个关键字或保留字36个预定义标识符标识符Golang文件名所有的go源码都是以 ".go" 结尾。`Go语言命名Go的函数、变量、常量、自定义类型、包(package)的命名方式遵循以下规则:首字符可以是任意的Unicode字符或者下划线剩余字符可以是Unicode字符、下划线、数字字符长度不限Go语言声明有四种主要声明方式:var(声明变量), const(声明常量), type(声明类型)原创 2020-12-15 23:18:02 · 448 阅读 · 0 评论 -
Go初探-DateWhale开源学习
Go初探目录Go语言的发展历史goroutine的特点Go语言特性Go语言结构Go的环境搭建Go语言Windows系统开发环境配置Go语言Mac开发环境配置IDE选择Go语言的发展历史go语言(或Golang)是Google开发的开源编程语言,诞生于2006年1月2日下午15点4分5秒,于2009年11月开源,2012年发布go稳定版。Go语言在多核并发上拥有原生的设计优势,Go语言从底层原生支持并发,无须第三方库、开发者的编程技巧和开发经验。go是非常年轻的一门语言原创 2020-12-14 21:11:04 · 475 阅读 · 0 评论