Go语言---sync 包

sync包提供基本的同步原语,如互斥锁。 除了Once和WaitGroup类型之外,大多数类型都是供低级库例程使用的。经过通道和通信可以更好地完成更高级别的同步。互斥锁互斥锁用来保证在任一时刻,只能有一个线程函数访问某对象,保证共享数据的安全性防止竞态。Mutex 的初始值为解锁状态。Mutex ...

2018-05-11 23:13:34

阅读数:34

评论数:0

Go并发编程总结

最近一直在看Go语言的并发编程,主要的书籍是 <Go语言学习笔记>。看完之后,看到网上这篇博客总结的不错,所讲的内容学习笔记上都有。Golang :不要通过共享内存来通信,而应该通过通信来共享内存。这句风靡在Go社区的话,说的就是 goroutine中的...

2018-05-11 17:30:45

阅读数:42

评论数:0

Go语言---fmt包

占位符普通占位符占位符 说明 举例 输出 %v 相应值的默认格式。 ...

2018-05-10 15:38:22

阅读数:41

评论数:0

Go语言---unicode/utf8 unicode/utf16包

unicode/utf8包utf8实现了函数和常量来支持UTF-8编码的文本。它包括在runes和UTF-8字节序列之间转换的函数。utf8里面的函数就有一些字节和字符的转换。//判断是否符合UTF编码的函数 // Valid 判断 p 是否为完整有效的 UTF8 编码序列。 func Valid...

2018-05-10 11:22:10

阅读数:36

评论数:0

Go语言 — Unicode码点包

unicode介绍Unicode只是定义了一个字符和一个编码的映射,但是呢,对应的存储却没有制定。 比如一个编码0x0041代表大写字母A,那么可能有一种存储至少有4个字节,那可能0x00000041来存储代表A。 这个就是unicode的具体实现。unicode的具体实现有很多种,UTF-8和U...

2018-05-09 23:00:28

阅读数:33

评论数:0

Go语言---strconv包

包strconv主要实现对字符串和基本数据类型之间的转换。基本数据类型包括:布尔、整型(包括有/无符号、二进制、八进制、十进制和十六进制)和浮点型等。--------------------------------------------------------------------------...

2018-05-09 20:28:16

阅读数:12

评论数:0

Go语言---bytes包

该包定义了一些操作 byte slice 的便利操作。因为字符串可以表示为 []byte,因此,bytes 包定义的函数、方法等和 strings 包很类似,所以讲解时会和 strings 包类似甚至可以直接参考。 []byte 为 字节切片,byte---uint8类型。官方网址对这个包都有详细...

2018-05-09 11:24:37

阅读数:13

评论数:0

Go语言---strings包(字符串操作)

strings标准库包主要涉及字符串的基本操作。常见字符串的操作有:字符串求长度求子串是否存在某个字符或者子串子串出现的次数(字符串匹配)字符串分割(切分)成[]string字符串是否存在某个前缀或后缀字符或者子串在字符串中首次出现的位置或最后一次出现的位置通过某个字符串将[]string进行拼接...

2018-05-08 21:57:58

阅读数:75

评论数:2

Golang string和[]byte的对比

转载网址:https://www.cnblogs.com/zhangboyu/p/7623712.html为啥string和[]byte类型转换需要一定的代价?为啥内置函数copy会有一种特殊情况copy(dst []byte, src string) int?string和[]byte,底层都是...

2018-05-08 15:41:56

阅读数:16

评论数:0

Go错误处理---errors包以及Go记录日志---log包

Go错误处理---errors包1、error接口Go语言引入了一个关于错误处理的标准模式,即error接口,该接口定义:type error interface { Error() string } 对于大多数函数,如果要返回错误,大致可以定义为如下模式,将error作为多种返回值...

2018-05-07 18:10:20

阅读数:13

评论数:0

Go面向对象---音乐库案例

案例目的   演示Go语言面向对象编程特性,设计音乐播放器程序,此程序仅仅只是演示面向对象特性。关键流程:(1) 音乐库功能:使用者可以查看、添加和删除里面的音乐曲目;(2)、播放音乐;(3)、支持MP3和WAV,但也能随时扩展支持更多的音乐类型;(4)、退出程序。    程序主要接受以下命令(1...

2018-05-07 14:52:41

阅读数:19

评论数:0

Go语言---函数返回局部变量地址

一、C语言中返回函数中局部变量值和指针(1) 在C语言中,一个函数可以直接返回函数中定义的局部变量,其实在函数返回后,局部变量是被系统自动回收的,因为局部变量是分配在栈空间,那为什么还可以返回局部变量,其实这里返回的是局部变量的副本(拷贝)。(2) 函数返回局部变量地址:局部变量内存分配在栈空间,...

2018-05-05 21:10:52

阅读数:68

评论数:0

《Go语言编程》---"面向对象编程"

面向对象编程Go 语言的面向对象编程(OOP)非常简洁而优雅。说它简洁,简介之处在于,它没有了OOP中很多概念,比如:继承、虚函数、构造函数和析构函数、隐藏的this指针等等。说它优雅,是它的面向对象(OOP)是语言类型系统(type system)中的天然的一部分。整个类型系统通过接口(inte...

2018-05-05 17:31:13

阅读数:32

评论数:0

go是面向对象语言吗?

转载链接:https://segmentfault.com/a/1190000001832282#articleHeader5原文链接:http://spf13.com/post/is-go-object-oriented前言面向对象的含义引入了对象(object)、类(class)、继承(inh...

2018-05-05 15:02:41

阅读数:38

评论数:0

go new和make的区别

Go语言中的内建函数new和make是两个用于内存分配的原语(allocation primitives)。简单来说,new只分配内存,make用于slice,map,和channel的初始化。 内置函数new按指定类型长度分配零值内存,返回指针,并不关心类型内部构造和初始化方式。内置函数make...

2018-05-04 21:16:14

阅读数:11

评论数:0

Go语言中的值类型和引用类型

一、值类型和引用类型值类型:int、float、bool和string这些类型都属于值类型,使用这些类型的变量直接指向存在内存中的值,值类型的变量的值存储在栈中。当使用等号=将一个变量的值赋给另一个变量时,如 j = i ,实际上是在内存中将 i 的值进行了拷贝。可以通过 &amp...

2018-05-04 20:50:10

阅读数:15

评论数:0

golang-闭包实例详解

一、闭包的概念闭包可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。或者说是函数和其引用环境的组合体。闭包的概念可以直接百度或者google详细搜索详细,这里主要是通过几个实例来对闭包进行详解。二、闭包实例详解实例1//函数片段 func add(base...

2018-05-04 19:23:21

阅读数:26

评论数:0

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