Go语学习笔记 - goroutine | 从零开始Go语言
学习笔记,写到哪是哪。关于golang的协程早有耳闻,具体概念不过多赘述了,可以理解为轻量级的线程,一个线程中可以存在多个协程。协程在同一个线程中,只有一个协程在运行。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈,直接操作栈则基本没有内核切换的开销,可以不加锁的访问全局变量,所以上下文的切换非常快。1、go关键字使用看看协程的使用。样例代码如下....
Go语学习笔记 - panic、recover | 从零开始Go语言
学习笔记,写到哪是哪。Go语言中的程序终止,可以使用panic关键字主动终止。和error不同,是导致程序无法继续执行的中止。1、配合defer使用配合panic中止后,defer后的语句也会继续执行。样例代码如下package main import ( "fmt" ) func test_panic1() { defer fmt.Println("宕机执行内容1") defer ...
Go语学习笔记 - defer | 从零开始Go语言
学习笔记,写到哪是哪。Go语言的defer关键字很神奇,在其他语言没见过。defer后的内容会在方法执行结束后执行,但是要注意如果存在多个defer语句的时候,defer的执行顺序是倒序的。样例代码如下package main import ( "fmt" "sync" ) var ( baseMap = make(map[string]int) lock sync.Mut...
Go语学习笔记 - Json解析 | 从零开始Go语言
学习笔记,写到哪是哪。在日常项目中,使用Json格式进行数据封装是比较常见的操作,看一下golang怎么实现。1、json序列化将json字符串转为go语言结构体对象。 package main import ( "encoding/json" "errors" "fmt" ) var parseJsonError = errors.New("json parse error") v...
Go语学习笔记 - 结构体方法接收器 | 从零开始Go语言
学习笔记,写到哪是哪。可以对自定义结构体或者内置类型结构体,添加方法,方法可接收结构体指针。这种写法让我思考了一下项目结构问题,如果是这样的话,是不是把结构体都先放到一个gofile里面,要使用的时候引入就好了。如果结构体缺什么方法,可以直接加就行了。样例代码如下package main import "fmt" type Person struct { name string age ...
Go语学习笔记 - list | 从零开始Go语言
Go语言中container/list包,list实际上是双向链表,和java一样,在插入和删除操作中会比较高效。样例代码如下package main import ( "container/list" "fmt" ) func test_list1() { var list1 = list.New() list1.PushBack("a") list1.PushBack(1...
Go语学习笔记 - 异常处理 | 从零开始Go语言
Go语言有内置的错误接口,可以通过实现接口的方式定义异常,和其他语言的try···catch语法不一样。我现在看着特别别扭。内置的error接口如下:type error interface { Error() string}1、使用实现Error接口方式样例代码如下package main import "fmt" type CustomError struct { ....
Go语学习笔记 - 语言接口 | 从零开始Go语言
学习笔记,写到哪是哪。Go语言的接口和Java的接口有点类似,写法上不太一致。我个人感觉更像Java中父类中定义抽象方法类似,凡是集成父类都需要重新实现抽象方法。样例代码如下package main import "fmt" type Phone interface { call(param int) string info() } type IPhone struct { name...
Go语学习笔记 - Slice、Map | 从零开始Go语言
学习笔记,写到哪是哪。1、Slice切片Slice和java中的ArrayList类似,Go语言数组长度不可改变,Slice的长度不固定,可追加元素。定义方式可以是:var identifier []type也可以使用make函数var slice1 []type = make([]type, len)样例代码如下package main import "fmt" //切片 func test_....
Go语学习笔记 - 结构体 | 从零开始Go语言
学习笔记,写到哪是哪。结构体有点类似类的概念,结构体中可以为不同项定义不同的数据类型。更像数据集合的概念。样例代码如下package main import "fmt" type Student struct { name string age int gender string } func test_type(stu, stu1 Student) { fmt.Pri...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
开发与运维
集结各类场景实战经验,助你开发运维畅行无忧
+关注