![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go语言
鲜卑大帝
在互联网大潮中挣扎的miller.fan。
展开
-
分布式对象存储-可扩展的分布式系统--Go语言实现
一、什么是分布式系统一个分布式系统要求各节点分布在网络上,并 通过消息传递来合作完成一个共同的目标。分布式系统的三大关键特征:1、节点之间并发工作;2、没有全局锁;3、否个节点上发生的错误不影响其他节点。分布式系统的好处在于可扩展性,只需要加入新的节点就可以自由扩展集群的性能。二、分布式系统的前提分布式系统存在的前提是:解耦,通过某种手段让系统的某些部分解耦合,互相能够不依赖对方单独存在,并单独“运行”。“解耦设计”是一个系统具有良好的性能的灵魂所在。那么一般的系统通过什么方原创 2020-07-05 08:36:36 · 630 阅读 · 0 评论 -
用Go语言实现一个缓存器
Go语言的源码阅读1、Cache的底层实现package cache2goimport ( "sync" "time")// CacheItem is an individual cache item// Parameter data contains the user-set value in the cache.type CacheItem struct { sync.RWMutex // The item's key. 空interface(interface{})不原创 2020-05-21 18:31:23 · 483 阅读 · 0 评论 -
Go语言中的切片
Go语言中的切片//创建一个长度和容量都是0 的切片 //创建一个空切片的3种方式 //第一种:创建nil整型切片 var slice []int fmt.Println(cap(slice)) //第二种:使用make创建整型切片 slice1 := make([]int,0) fmt.Println(cap(slice1)) //第三种:使用切片字面量来创建空切片 slice2 := []int{} fmt.Println(cap(slice2))空切片在底层数组中包含0个原创 2020-05-19 11:29:35 · 138 阅读 · 0 评论 -
Go语言市如何保证高并发的?
1、前戏什么市CSP?当进行和G语言有关的讨论的时候,你会经常听到人们抛出CSP这个缩写。在某些环境下CSP经常被赞美成Go语言成功的原因已经并发编程的“万能钥匙”。那么,CSP到底是什么?为什么让人们如此兴奋呢?CSP即“Communicating Sequential Processes”(通信顺序进程),既是一个技术名词,也是介绍这种技术的论文的名字。在论文中Hoare认为输入与输出是两个被忽略的编程原语,尤其是在并发代码中。论文中的核心思想就是一个进程的输出应该是另一个进程的输入。原创 2020-05-16 15:52:23 · 222 阅读 · 0 评论 -
Go语言中的接口
1、接口时用来定义行为的类型对接口值方法的调用会执行接口值里存储的用户定义的类型的值对应的方法eg:package mainimport "fmt"type notifier interface { notify()}type user struct { name string email string}func (u *user) notify() { ...原创 2020-05-05 17:28:09 · 434 阅读 · 0 评论 -
为什么开始学习GO言语
一、我为什么要学习GO语言?1、接触了Go语言编写的程序1年之内接触的两个新项目基础都是Go语言,一个是华为的kubeEdge项目,一个是联盟链(区块链的一种应用)。Go语言在这些新事物中的应用让我开始思考,学习Go语言的必要性;2、工作中遇到高并发的问题,使用java不仅容易出错,而且学习相关的知识的时间成本非常高;而Go语言天生对高并发的良好支持让我看到应对“高并发”编程的简单、高...原创 2020-05-05 13:43:22 · 695 阅读 · 0 评论