Go
默默的菜鸟--
这个作者很懒,什么都没留下…
展开
-
Go The Way 之 冒泡排序、快速排序、插入排序、选择排序
排序是最常见的算法冒泡排序func BubbleSort(nums []int) []int { length := len(nums) for i := 0; i < length; i++ { for j := 0; j < i; j++ { if nums[i] > nums[j] { nums[i], nums[j] = nums[j], nums[i] } } } return nums}选择排序// 选择排序func原创 2020-06-02 01:07:53 · 240 阅读 · 0 评论 -
Go The Way 之 稀疏数组
Go 数据结构与算法 :稀疏数组当一个数组中大部分元素为0或者为同一个值时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:1、 记录数组中一共有几行几列,有多少个不同的值2、 思想:把具有不通知的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模package mainimport "fmt"func main() { // 1 创建一个原始数组 var chessArray [11][11]int chessArray[1][2] = 1 chessArray[2][原创 2020-05-24 01:33:02 · 323 阅读 · 0 评论 -
Go The Way 之 单元测试
Go testingGo 语言中自带一个轻量级的测试框架testing和自带的go test 命令来实现单元测试和性能测试,testing框架和其他语言中的测试框架类似,可以基于这个框架写针对相应函数的测试案例,也可以基于该框架写相应的压力测试用例、通过单元测试,可以解决如下问题:确保每个函数时可运行的,并且运行结果是正确的确保写出的代码性能是好的单元测试能及时的发现程序设计或实现的逻辑错误,使问题及早暴露,便于问题的定位解决,而性能测试的重点再远发现程序设计上的一些问题,让程序能够在高并发的原创 2020-05-17 23:48:51 · 725 阅读 · 0 评论 -
Go The Way 之string介绍及string与基本数据类型的转换
stringfunc StringDemo() { // len() 长度 str:= "hello" fmt.Println(len(str)) // 5 str = "hello上" fmt.Println(len(str)) // 8 Go 采用UTF-8 的字符集,所以一个汉字三个字节 // 将String 遍历打印 for _,value := range str {...原创 2020-05-06 22:42:52 · 388 阅读 · 0 评论 -
Go The Way 之 Json与对象的相互转换
对象转JSONObject 转换成 JSON:json.Marshal(data)1、布尔值转化后还是布尔类型2、浮点数和整型都会转换为JSON里面的常规数字3、字符串将以UTF-8 编码转化为Unicode字符集的字符串,特殊字符也会转4、数组和切片会转化为Json里面的数组,但[]byte 类型的值将会被转化为 Base64编码后的字符串,slice 类型的零值会转化为null...原创 2020-04-30 17:23:56 · 1012 阅读 · 0 评论 -
Go The Way 之文件操作
读取文件读取大文本/**适用场景: 要读取的文件比较大 */func testReadBigDataFromFile() { file, err := os.Open("F:/goworkspace/src/goStudy/file/1.txt") if err != nil { fmt.Println(err) return } defer file.Close()...原创 2020-04-29 23:38:35 · 399 阅读 · 0 评论 -
Go The Way 之相关测试案例
Go 系列文章涉及测试案例上线了!!博主最近在学习Go 语言,学习过程中会同步写一些有关Go的文章,俗话说读万卷书不如行万里路,所以在学习过程中会写一些相关的测试案例。为了更好的理解文档,博主将测试案例上传到GitHub中以供参考。之后Go相关分享也会及时更新到在线库中。欢迎大家订阅 star地址: 前往...原创 2020-04-29 16:30:56 · 245 阅读 · 0 评论 -
Go The Way 之 接口断言 和 接口组合
package mainimport "fmt"type A interface { A() B()}type AReal struct {}func (*AReal) A() {}func (*AReal) B() {}type B interface { A() B()}type BReal struct {}func (*BReal) A() {}func...原创 2020-04-29 00:27:56 · 272 阅读 · 0 评论 -
Go The Way 之 数据类型
GO 数据类型 类型可以是基本类型,如:int、float、bool、string;结构化的(复合的),如:struct、array、slice、map、channel;只描述类型的行为的,如:interface。 结构化的类型没有真正的值,它使用 nil 作为默认值(在 Objective-C 中是 nil,在 Java 中是 null,在 C 和 C++ 中是NULL或 0。值得注...原创 2020-04-24 22:45:47 · 265 阅读 · 0 评论 -
Go The Way 之接口的定义与赋值
package mainimport "fmt"/**在Go 语言中,一个类只要实现了接口中的所有函数,则就说这个类实现了接口,没有像Java 必须使用implement 进行强制说明 */type IReader interface { Read(buf []byte) (n int, err error)}type IWriter interface { Write(...原创 2020-04-24 21:59:28 · 228 阅读 · 0 评论 -
Go The Way 之结构体与匿名组合
结构体package mainimport ( "fmt" "strings")type User struct { name string age int32 sex int32}type Person struct { firstName string lastName string}type Ps Person // 起别名, Ps 代替 Pers...原创 2020-04-24 19:48:53 · 320 阅读 · 0 评论 -
Go The Way 之 init() 与 defer
package mainimport "fmt"/**init() 函数,特点: 在main函数之前调用 使用场景:初始化数据库环境等defer 关键字,特点: defer关键字修饰的内容在main函数结束之前调用,或者出现panic等错误的时候在函数结束之前调用。 采用栈的特性,先进后出,逐一执行 使用场景:打开的文件流关闭操作,出现异常时的处理 */fu...原创 2020-04-24 00:06:47 · 463 阅读 · 0 评论 -
Go The Way 之 匿名函数和闭包
package mainimport "fmt"/**匿名函数和闭包函数 */func main() { sum := nimingTest(1,2 ) fmt.Println(sum) // 闭包函数实践 func1 := addUper() fmt.Println(func1(1)) //1 fmt.Println(func1(2)) //3 fmt.Printl...原创 2020-04-23 23:40:03 · 153 阅读 · 0 评论 -
Go The Way 之函数不定参数传值
package mainimport "fmt"func main() { fun2(1,2,3,4) //测试全类型数据 fun3(int(12), "123") /** fun3(int(12), "123") 结果如下: 使用for - range 进行遍历: 12 是一个int 数据 123 是一个string 数据 */ // 第二种测试传值: ...原创 2020-04-22 22:17:55 · 232 阅读 · 0 评论 -
Go The Way 之 switch
package mainimport "fmt"/**Switch 使用与其他语言不同的是:1、左花括号(必须与switch 处于同一行)2、条件表达式不限制为常量或者整数3、单个case中,可以出现多个结果选项4、不需要用break 来明确退出一个case5、只有在case中明确添加 fallthrough 关键字,才会继续执行紧跟的下一个casse6、 可以不设定swit...原创 2020-04-22 19:11:30 · 132 阅读 · 0 评论 -
Go The Way 之map
package mainimport "fmt"func main() { func2()}/**map 创建方式:1. 直接创建2. 赋值 */func func1() { var map1 map[string]string map1 = make(map[string]string, 10) // 赋值 map1["key1"] = "value1" map...原创 2020-04-22 16:19:23 · 138 阅读 · 0 评论 -
Go The Way 之切片
package mainimport "fmt"/**切片的操作 */func main() { func4()}/**数组切片可以基于一个已存在的数组创建,数组切片可以值使用数组的一部分元素或者整个数组来创建,甚至可以创建一个比所基于的数组还要打的数组切片 */func func1() { array := []int{1,2,3,4,5,6,7} fmt.Pr...原创 2020-04-22 15:47:24 · 129 阅读 · 0 评论 -
Goland 永久不失效注册码方式(绝对好用)
链接地址:https://blog.csdn.net/dodod2012/article/details/82589458转载 2018-11-20 18:23:48 · 112338 阅读 · 6 评论