go语言学习
文章平均质量分 68
谢健
这个作者很懒,什么都没留下…
展开
-
centos7下配置golang1.9.2环境
centos7下配置golang1.9.2环境环境: 到官方https://golang.org/dl/下载安装包# tar zxvf go1.9.2.linux-amd64.tar.gz -C /opt新建GOPATH目录# mkdir -p /home/james_xie/work/golangstudy修改环境变量(vim /etc/profile)export GOROOT=/usr/lo原创 2017-12-06 10:45:43 · 3097 阅读 · 1 评论 -
【Go学习】一道简单Golang面试题中关于panic和defer的执行顺序引发的惨案
Go 学习原创 2018-05-31 11:58:33 · 5611 阅读 · 0 评论 -
【Go学习】Golang源码编译和gdb调试环境搭建
Go 学习原创 2018-05-31 11:57:04 · 4189 阅读 · 0 评论 -
【Go学习】类型转换和类型断言
Go 学习原创 2018-05-31 11:56:34 · 552 阅读 · 0 评论 -
【Go学习】Golang 使用 iota
区块链学习(四)原创 2018-02-28 11:37:44 · 521 阅读 · 0 评论 -
【Go学习】GO语言并发编程之读写锁
【Go学习】GO语言并发编程之读写锁读写锁是针对于读写操作的互斥锁。基本遵循两大原则:1、可以随便读。多个goroutin同时读。2、写的时候,啥都不能干。不能读,也不能写。 解释:在32位的操作系统中,针对int64类型值的读操作和写操作不可能只由一个CPU指令完成。如果一个写的操作刚执行完了第一个指令,时间片换给另一个读的协程,这就会读到一个错误的数据。RWMutex...原创 2018-06-12 14:25:17 · 505 阅读 · 0 评论 -
【Go学习】GO语言并发编程之互斥锁
【Go学习】GO语言并发编程之互斥锁互斥锁是传统的并发程序对共享资源进行访问控制的主要手段。它由标准库代码包sync中的Mutex结构体类型代表。sync.Mutex类型(确切地说,是*sync.Mutex类型)只有两个公开方法——Lock和Unlock。顾名思义,前者被用于锁定当前的互斥量,而后者则被用来对当前的互斥量进行解锁。类型sync.Mutex的零值表示了未被锁定的互斥量。也就是...原创 2018-06-12 11:36:08 · 739 阅读 · 1 评论 -
【Go学习】Golang sizeof 占用空间大小
区块链学习(三)原创 2018-02-28 11:36:44 · 2238 阅读 · 0 评论 -
Centos7 VS code golang 开发环境搭建
Centos7 VS code golang 开发环境搭建在上一篇文章—-centos7下配置golang1.9.2环境,之后就一直用Sublime text,还处在初级阶段,代码量也不大,最近下了docker的源码,想学习下,磨刀不误砍柴工,在这里先折腾一下VS code,大家有什么好的IDE可以推荐一下。废话不多说太多,直接进入主题,这里把自己搭建环境的过程记录一下,以便自己以后查看。安装 VS原创 2017-12-25 23:51:33 · 3264 阅读 · 0 评论 -
【Go学习】 逐行读写文件
简单的翻看了一下Go的io/ioutil居然没又逐行读取的接口,在网上找到一份代码,发现其还比较使用,打算撸个例子试试看,网上的逐行读取的接口如下:func ReadLine(fileName string, handler func(string)) error { f, err := os.Open(fileName) if err != nil {原创 2017-12-16 16:39:35 · 4595 阅读 · 0 评论 -
【Go学习】浅析Go语言Interface类型的语法行为及用法
【Go学习】浅析Go语言Interface类型的语法行为及用法转载至:https://studygolang.com/articles/2652Go不是一种典型的OO语言,它在语法上不支持类和继承的概念。 没有继承是否就无法拥有多态行为了呢?答案是否定的,Go语言引入了一种新类型—Interface,它在效果上实现了类似于C++的“多态”概念,虽然与C++的多态在语法上并非完全对等,但至少在最终实转载 2017-12-15 17:34:53 · 806 阅读 · 0 评论 -
【Go学习】Go的函数
Go的函数函数是基本的代码块,用于执行一个任务,是构成代码执行的逻辑结构。 在Go语言中,函数的基本组成为:关键字func、函数名、参数列表、返回值、函数体和返回语句。函数定义函数其实在之前已经见过了,第一次执行hello world程序的main()其实就是一个函数,而且是一个比较特殊的函数。每个go程序都是从名为main的package包的main()函数开始执行包的概念不是这里的重点,以后原创 2017-12-12 11:52:57 · 352 阅读 · 0 评论 -
【Go学习】GO语言异常处理机制panic和recover分析
【Go学习】GO语言异常处理机制panic和recover分析Golang 有2个内置的函数 panic() 和 recover(),用以报告和捕获运行时发生的程序错误,与 error 不同,panic-recover 一般用在函数内部。一定要注意不要滥用 panic-recover,可能会导致性能问题,我一般只在未知输入和不可靠请求时使用。golang 的错误处理流程:当一个函数在执行过程中出现了原创 2017-12-13 16:18:05 · 1160 阅读 · 0 评论 -
【Go学习】理解Go语言中的函数闭包
【Go学习】理解Go语言中的函数闭包闭包是什么? 它是怎么产生的及用来解决什么问题呢。给出字面的定义先:闭包是由函数及其相关的引用环境组合而成的实体(即:闭包=函数+引用环境)。这个从字面上很难理解,至少我在刚接触这个概念的时候是没弄懂的,本文将结合实例代码进行解释。 函数是什么? 可能大家都知道:函数只是一段可执行代码,编译后就“固化”了,每个函数在内存中只有一份实例,得到函数的入口点便可以原创 2017-12-13 12:26:46 · 2070 阅读 · 1 评论 -
【GO学习】为类型添加方法
【GO学习】为类型添加方法刚开始学Go语言,看到如下代码很是不解,直接贴出来分析下,代码如下:package mainimport "fmt"type Rank int const ( Rank001 Rank = iota Rank002 Rank003 Rank004)var rewards = [...]string{原创 2017-12-12 18:36:28 · 2251 阅读 · 0 评论 -
【Go学习】slice切片的本质及操作——切片的追加、删除、插入等
【Go学习】slice切片的本质及操作——切片的追加、删除、插入等一、一般操作1,声明变量,go自动初始化为nil,长度:0,地址:0,nilpackage mainimport ( "fmt")func main(){ var ss []string; fmt.Printf("length:%v \taddr:%p \tisnil:%v",len(ss),ss, ss==原创 2017-12-12 15:58:03 · 5229 阅读 · 0 评论 -
【Go学习】Golang Channel 详解
Go 学习原创 2018-05-31 12:00:24 · 1374 阅读 · 0 评论