随笔分类 -  GoGoGo

摘要:文章引用自 Go语言基础之并发 并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很重要的原因。 Go语言中的并发编程 并发与并行 并发:同一时间段内执行多个任务(你在用微信和两个女朋友聊天)。 并行:同一时刻执行多个任务(你和你朋友都在用微信和女朋友聊天)。 阅读全文
posted @ 2019-11-29 12:30 Binb 阅读(249) 评论(0) 推荐(0)
摘要:文章引用自 Go语言内置包之strconv Go语言中strconv包实现了基本数据类型和其字符串表示的相互转换。 strconv包 strconv包实现了基本数据类型与其字符串表示的转换,主要有以下常用函数: Atoi()、Itia()、parse系列、format系列、append系列。 更多函 阅读全文
posted @ 2019-11-28 14:43 Binb 阅读(200) 评论(0) 推荐(0)
摘要:文章引用自 Go语言基础之反射 变量的内在机制 Go语言中的变量是分为两部分的: 类型信息:预先定义好的元信息。 值信息:程序运行过程中可动态变化的。 反射介绍 反射是指在程序运行期对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运行程序时, 阅读全文
posted @ 2019-11-26 23:44 Binb 阅读(201) 评论(0) 推荐(0)
摘要:文章引用自 package os import "os" os包提供了操作系统函数的不依赖平台的接口。设计为Unix风格的,虽然错误处理是go风格的;失败的调用会返回错误值而非错误码。通常错误值里包含更多信息。例如,如果某个使用一个文件名的调用(如Open、Stat)失败了,打印错误时会包含该文件名 阅读全文
posted @ 2019-11-26 20:21 Binb 阅读(576) 评论(0) 推荐(0)
摘要:文章引用自 path包的使用 package main; import ( "fmt" "path" ) //go语言path包的学习 func main() { //返回路径的最后一个元素 fmt.Println(path.Base("./a/b/c")); //如果路径为空字符串,返回. fmt 阅读全文
posted @ 2019-11-25 16:21 Binb 阅读(409) 评论(0) 推荐(0)
摘要:文章引用自 Golang中runtime的使用 runtime调度器是非常有用的东西,关于runtime包几个方法: Gosched:让当前线程让出cpu以让其他线程运行,它不会挂起当前线程,因此当前线程未来会继续执行 NumCPU:返回当前系统的CPU核数量 GOMAXPROCS:设置最大的可同时 阅读全文
posted @ 2019-11-25 16:19 Binb 阅读(2155) 评论(0) 推荐(0)
摘要:文章引用自 Go语言文件操作 打开和关闭文件 os.Open()函数能够打开一个文件,返回一个*File和一个err。对得到的文件实例调用close()方法能够关闭文件。 package main import ( "fmt" "os" ) func main() { // 只读方式打开当前目录下的 阅读全文
posted @ 2019-11-24 13:15 Binb 阅读(328) 评论(0) 推荐(0)
摘要:文章引用自 接口 接口类型 在Go语言中接口(interface)是一种类型,一种抽象的类型。 interface是一组method的集合,是duck-type programming的一种体现。接口做的事情就像是定义一个协议(规则),只要一台机器有洗衣服和甩干的功能,我就称它为洗衣机。不关心属性( 阅读全文
posted @ 2019-11-22 19:51 Binb 阅读(188) 评论(0) 推荐(0)
摘要:time包 time包提供了时间的显示和测量用的函数。日历的计算采用的是公历。 时间类型 time.Time类型表示时间。我们可以通过time.Now()函数获取当前的时间对象,然后获取时间对象的年月日时分秒等信息。示例代码如下: func timeDemo() { now := time.Now( 阅读全文
posted @ 2019-11-22 16:03 Binb 阅读(318) 评论(0) 推荐(0)
摘要:文章引用自 Go语言的包(package) 包介绍 包(package)是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如fmt、os、io等。 定义包 我们还可以根据自己的需要创建自己的包。一个包可以简单理解为一个存放.go文件的文件夹。 该文件夹下面的所有go文件 阅读全文
posted @ 2019-11-21 14:58 Binb 阅读(197) 评论(0) 推荐(0)
摘要:文章引用自 Go语言基础之结构体 Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。 类型别名和自定义类型 自定义类型 在Go语言中有一些基本的数据类型,如string、整型、浮点型、布尔等数据类型, Go语言中 阅读全文
posted @ 2019-11-20 08:54 Binb 阅读(187) 评论(0) 推荐(0)
摘要:文章引用自 Go语言中的指针 任何程序数据载入内存后,在内存都有他们的地址,这就是指针。而为了保存一个数据在内存中的地址,我们就需要指针变量。 比如,“永远不要高估自己”这句话是我的座右铭,我想把它写入程序中,程序一启动这句话是要加载到内存(假设内存地址0x123456),我在程序中把这段话赋值给变 阅读全文
posted @ 2019-11-19 21:21 Binb 阅读(128) 评论(0) 推荐(0)
摘要:文章引用自 函数 Go语言中支持函数、匿名函数和闭包,并且函数在Go语言中属于“一等公民”。 函数定义 Go语言中定义函数使用func关键字,具体格式如下: func 函数名(参数)(返回值){ 函数体 } 其中: 函数名:由字母、数字、下划线组成。但函数名的第一个字母不能是数字。在同一个包内,函数 阅读全文
posted @ 2019-11-18 13:53 Binb 阅读(166) 评论(0) 推荐(0)
摘要:文章引用自 Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现。 map map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。 map定义 Go语言中 map的定义语法如下: map[KeyType]ValueType 其中, K 阅读全文
posted @ 2019-11-18 11:01 Binb 阅读(166) 评论(0) 推荐(0)
摘要:文章引用自 引子 因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性。 例如: func arraySum(x [3]int) int{ sum := 0 for _, v := range x{ sum = sum + v } return sum } 这个求和函数只能接受 阅读全文
posted @ 2019-11-18 09:06 Binb 阅读(299) 评论(0) 推荐(0)
摘要:文章引用自 Array(数组) 数组是同一种数据类型元素的集合。 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。 基本语法: // 定义一个长度为3元素类型为int的数组a var a [3]int 数组定义: var 数组变量名 [元素数量]T 比如:var a 阅读全文
posted @ 2019-11-17 17:01 Binb 阅读(327) 评论(0) 推荐(0)
摘要:文章引用自 fmt fmt包实现了类似C语言printf和scanf的格式化I/O。主要分为向外输出内容和获取输入内容两大部分。 向外输出 标准库fmt提供了以下几种输出相关函数。 Print Print系列函数会将内容输出到系统的标准输出,区别在于Print函数直接输出内容,Printf函数支持格 阅读全文
posted @ 2019-11-17 14:51 Binb 阅读(596) 评论(0) 推荐(0)
摘要:文章引用自 if else(分支结构) if条件判断基本写法 Go语言中if条件判断的格式如下: if 表达式1 { 分支1 } else if 表达式2 { 分支2 } else{ 分支3 } 当表达式1的结果为true时,执行分支1,否则判断表达式2,如果满足则执行分支2,都不满足时,则执行分支 阅读全文
posted @ 2019-11-17 11:54 Binb 阅读(147) 评论(0) 推荐(0)
摘要:文章引用自 运算符 Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 算数运算符 运算符描述 + 相加 - 相减 * 相乘 / 相除 % 求余 注意: ++(自增)和--(自减)在Go语言中是单独的语句,并不是运算符。 关系运算符 运算符描述 == 检查两个值是否 阅读全文
posted @ 2019-11-17 11:01 Binb 阅读(140) 评论(0) 推荐(0)
摘要:文章引用自 基本数据类型 整型 整型分为以下两个大类: 按长度分为:int8、int16、int32、int64 对应的无符号整型:uint8、uint16、uint32、uint64 其中,uint8就是我们熟知的byte型,int16对应C语言中的short型,int64对应C语言中的long型 阅读全文
posted @ 2019-11-17 10:58 Binb 阅读(279) 评论(0) 推荐(0)