自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

稻草人技术博客

Keep Calm and Carry On

  • 博客(10)
  • 论坛 (4)
  • 收藏
  • 关注

原创 Go实现简单快速排序

package mainimport "fmt"func main() { l := []int{5,6,3,2,7,9,8,1} fmt.Println(l) fmt.Println(quickSort(l))}func quickSort(list []int) []int { l := len(list) if l == 0 { ...

2020-01-17 13:58:35 59

原创 Go语言有序链表归并

代码示例:package mainimport "fmt"type ListNode struct { Val int Next *ListNode}func main() { a := []int{1,3,5,7,9} b := []int{2,4,6,8} l1 := initList(a) l2 := initList(b) ...

2020-01-17 09:59:10 67

转载 Go程序调试工具介绍(gdb vs dlv)

文章目录准备工作gdb调试程序dlv调试程序dlv前端(gdlv)结论通过log库输出日志,我们可以对程序进行异常分析和问题追踪。但有时候,我也希望能有更直接的程序跟踪及定位工具能够帮助我们更方便快捷的追踪、定位问题,最直观的感觉还是使用调试器。Linux平台下,原生的C/C++程序,我们往往使用gdb进行程序调试,切换到Golang,我们同样还是可以使用gdb进行调试。同时我们还可以使用gol...

2020-01-16 11:33:15 365

转载 Go语言接口详解

文章目录什么是接口接口声明接口类型值静态类型和动态类型nil 接口值实现接口空接口实现多个接口类型断言类型选择接口嵌套使用指针接收者和值接收者实现接口什么是接口在一些面向对象的编程语言中,例如 Java、PHP 等,接口定义了对象的行为,只指定了对象应该做什么。行为的具体实现取决于对象。在 Go 语言中,接口是一组方法的集合,但不包含方法的实现、是抽象的,接口中也不能包含变量。当一个类型 T...

2020-01-15 16:54:34 51

转载 Go语言指针

文章目录什么是指针指针声明如何使用指针关于空指针指针作为函数参数使用不常用的new函数什么是指针写代码的时候,我们通过变量就可以操作存储在内存中的值,进行赋值、加减运算等。大家有没有想过,变量代表什么呢?其实,一个变量对应一段内存空间,这段空间就存储了该变量相对应类型的值。指针的值就对应变量的地址,只通过指针,就可以更新或者读取变量的值,而不需要用到变量名。var i int = 10 ...

2020-01-15 16:27:18 50

转载 Go语言Map

文章目录前言创建与初始化使用Make函数使用字面量如何使用MapDelete 删除键值对遍历Maplen函数Map是一种引用类型前言Hash表是一种巧妙并且实用的数据结构,是一个无序的key/value对的集合,其中所有的key都是不同的,通过给定的key可以在常数时间复杂度内检索、更新或删除对应的 value 。Map其实是一个 Hash 表的引用,能够基于键快速检索出数据,键就像索引一样指...

2020-01-15 16:17:48 51

转载 Go语言的静态类型和动态类型示例

先来看个简单的go程序:package main import ( "fmt") type TaskIntf interface { Process()} type Task struct { TaskId string X int Y int} func (p *Task)Process() { fmt.Printf("%+v\n", p)} f...

2020-01-15 15:57:27 803 1

转载 Golang 类型别名和类型定义

Golang语言中存在一个关键字type,type又有两种使用方式,一种是类型别名,一种是类型定义,是不是熟悉的C语言(define和typedef)味道?类型定义type Student struct { name String age int}type I int类型别名type Sdt = Studenttype I = int他们之间有什么区别呢?区别...

2020-01-14 17:41:56 531

转载 Go语言goroutine分析

Goroutine是Go里的一种轻量级线程——协程。相对线程,协程的优势就在于它非常轻量级,进行上下文切换的代价非常的小。对于一个goroutine ,每个结构体G中有一个sched的属性就是用来保存它上下文的。这样,goroutine 就可以很轻易的来回切换。由于其上下文切换在用户态下发生,根本不必进入内核态,所以速度很快。而且只有当前goroutine 的 PC, SP等少量信息需要保存。在...

2020-01-03 18:00:59 74

转载 Go语言goroutine并发模型

文章目录简介stack管理G-M-P队列状态上下文切换调度异步调用同步调用任务窃取g0codenewstartschdule参考简介stackOS线程初始栈为2MB。Go语言中,每个goroutine采用动态扩容方式,初始2KB,按需增长,最大1G。此外GC会收缩栈空间。BTW,增长扩容都是有代价的,需要copy数据到新的stack,所以初始2KB可能有些性能问题。更多关于stack的内...

2020-01-03 17:49:23 101

空空如也

Shower稻草人的留言板

发表于 2020-01-02 最后回复 2020-01-02

我也吐个关于修改用户名的槽。。

发表于 2016-11-25 最后回复 2016-11-25

突然发现原来用富文本编辑器写的博文里的代码示例都没发看了。。。

发表于 2016-11-24 最后回复 2016-11-25

网站访问速度慢

发表于 2016-10-12 最后回复 2016-10-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除