#易语言

Go语言中type的用法

Go语言中type的用法:1.定义结构体类型2.类型别名3.定义接口类型4.定义函数类型 1.定义结构体类型结构体可用于用户自定义数据类型和进行面向对象编程。typePersonstruct{namestringageintsexbool}func(p*Person)Eat(){fmt.Printf("%s爱...
代码星球 ·2020-05-10

C语言中容易混淆的问题

字符数组与字符串1.C语言中,没有专门的字符串变量,没有string类型,通常就用一个字符数组来存放一个字符串。2.字符串结束标志'',c语言中字符串总是以''作为结尾。3.字符串会自动在结尾补''。4.用字符数组存储字符串时,要特别注意'',要为''留个位置,所以字符数组的长度至少要比字符串的长度大1。charstr...
代码星球 ·2020-05-10

C语言中关于返回局部指针变量与引用

 原则:尽量不要返回一个局部变量的指针或引用,因为函数执行完之后,将释放分配给局部变量的存储空间,局部变量只是临时的存储空间,此时,对局部变量的引用和地址就会返回不确定的内存,但可以返回局部变量本身,局部变量实际上是返回变量值的拷贝,虽然在函数调用结束后所在内存会被释放回收掉,但返回值不是地址,而是局部变量的...

消息队列rabbitmq的五种工作模式(go语言版本)

前言:如果你对rabbitmq基本概念都不懂,可以移步此篇博文查阅消息队列RabbitMQ一、单发单收二、工作队列WorkQueue三、发布/订阅Publish/Subscribe四、路由Routing五、Topic类型的exchange六、rabbitmq部分封装代码及装备工作 在下图中,“P&...

go语言实现限流器

本文:https://chai2010.cn/advanced-go-programming-book/ch5-web/ch5-06-ratelimit.html计算机程序可依据其瓶颈分为磁盘IO瓶颈型,CPU计算瓶颈型,网络带宽瓶颈型,分布式场景下有时候也会外部系统而导致自身瓶颈。Web系统打交道最多的是网络,无论是...
代码星球 ·2020-05-09

go语言实现分布式锁

本文:https://chai2010.cn/advanced-go-programming-book/ch6-cloud/ch6-02-lock.html在单机程序并发或并行修改全局变量时,需要对修改行为加锁以创造临界区。为什么需要加锁呢?我们看看在不加锁的情况下并发计数会发生什么情况:packagemainimpo...
代码星球 ·2020-05-09

go语言实现分布式id生成器

本文:https://chai2010.cn/advanced-go-programming-book/ch6-cloud/ch6-01-dist-id.html有时我们需要能够生成类似MySQL自增ID这样不断增大,同时又不会重复的id。以支持业务中的高并发场景。比较典型的,电商促销时,短时间内会有大量的订单涌入到系...

JavaScript是一门单线程语言,所谓单线程,同步或非同步

JavaScript是一门单线程语言,所谓单线程 JavaScript是一门单线程语言,所谓单线程,就是指一次只能完成一件任务,如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。这种模式的好处是实现起来比较简单,执行环境相对单纯,坏处是只要有一个任务耗时很长,后面的任务都必须排队等着...

Android开发人员应该选择哪种语言?

自Google于2017年宣布Kotlin成为GoogleIO的Android开发官方语言以来,想要成为Android开发人员的程序员正陷入两难境地。在讨论这个问题前,我首先要明确一点,不要陷入编程语言战争,不要进行语言鄙视,只要能赚钱的编程语言就是好语言。最近看到这样一篇文章:Android冬天来了,其实吧,技术菜的...

论go语言中goroutine的使用

go中的goroutine是go语言在语言级别支持并发的一种特性。初接触go的时候对go的goroutine的欢喜至极,实现并发简便到简直bt的地步。但是在项目过程中,越来越发现goroutine是一个很容易被大家滥用的东西。goroutine是一把双面刃。这里列举一下goroutine使用的几宗罪:funmain()...
代码星球 ·2020-05-05

C语言scanf()函数

scanf()函数基础扩充:   C函数库包含了多个输入函数,其中最常用的差不多就是scanf()了,它可以读取各种格式的输入。  scanf()可以把输入的字符串转换成我们想要的各种形式,整数、浮点数、字符串等等,它是printf()的逆过程。和printf()一样都有控制字符串和参数列表,不同的是scan...
代码星球 ·2020-05-05

C语言memset函数详解

memset()的作用:在一段内存块中填充某个给定的值,通常用于数组初始化与数组清零。它是直接操作内存空间,mem即“内存”(memory)的意思。该函数的原型为:#include<string.h>void*memset(void*s,intc,unsignedlongn);函数的...
代码星球 ·2020-05-03

go语言中获取变量类型的三种方法

packagemainimport("fmt""reflect")funcmain(){varnumfloat64=3.14//方法1:println(reflect.TypeOf(num).Name())//方法2:fmt.Println(reflect.TypeOf(num))//方法3:fmt.Printf(`%...

go语言实现分布式对象存储系统之单体对象存储

 基本概念主流存储类型分为三种:块存储、文件存储以及对象存储NAS(文件存储):NetworkAttachedstorage,提供了存储功能和文件系统的网络服务器,客户端可以访问NAS上的文件系统,还可以上传和下载文件,使用协议:SMB、NFS以及AFS等网络文件系统协议,对于客户端来说就是网络上的文件服务器...

Go语言并发机制

 使用goroutine编程使用go关键字用来创建goroutine。将go声明放到一个需调用的函数之前,在相同地址空间调用运行这个函数,这样该函数执行时便会作为一个独立的并发线程。这种线程在Go语言中称作goroutine。goroutine的用法如下://go关键字放在方法调用前新建一个goroutine...
代码星球 ·2020-05-03
首页上一页...4748495051...下一页尾页