#go语言

go语言之行--结构体(struct)详解、链表

go语言中没有像类的概念,但是可以通过结构体struct实现oop(面向对象编程)。struct的成员(也叫属性或字段)可以是任何类型,如普通类型、复合类型、函数、map、interface、struct等,所以我们可以理解为go语言中的“类”。struct定义在定义struct成员时候区分大小...

go语言之行--数组、切片、map

append:追加元素到slice里,返回修改后的sliceclose:关闭channeldelete:从map中删除key对应的valuepanic :用于异常处理,停止常规的goroutinerecover:用于异常处理,允许程序定义goroutine的panic动作imag:返回复数(complex)的...

go语言之行--基础部分

布尔型布尔类型 -由两个预定义常量组成:true、false,默认值为falsepackagemainimport"fmt"funcmain(){var(abool//默认值为falsebbool=true)fmt.Println(a,b)}数字类型整型:uint8(无符号8位整型(0到255))uint1...

go语言之行--包与变量

一、包的概念包是go语言中不可缺少部分,在每个go源码的第一行进行定义,定义方式是:package"包名",并且该名称是作为调用该包时候所使用的名称。包的概念总结:每个Go文件都属于且仅属于一个包。一个包可以由许多以 .go 为扩展名的源文件组成,因此文件名和包名可能不同,为了规范,功能相似或者属于...

go语言之行--简介与环境搭建

一、Go简介Go是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由RobertGriesemer,RobPike,KenThompson主持开发,后来还加入了IanLanceTaylor,RussCox等人,并最终于2009年11月开源,在2012年早些时候发布了Go1稳定版本。现在...

go语言字节序 encoding/binary

 字节序就是多字节数据类型(int,float等)在内存中的存储顺序。在网络传输中基于文本类型的协议(比如JSON)和二进制协议都是字节通信,是采用字节序进行数据包的处理。字节序可分为大端序,低地址端存放高位字节;小端序与之相反,低地址端存放低位字节。在计算机内部,小端序被广泛应用于现代性CPU内部存储数据;...

go语言 nil一些注意的地方

 nilnil是go语言中预先定义的标识符,不是关键字或保留字。我们可以直接使用nil,而不用声明它。而且我们可以定义一个名称为nil的变量,比如下面这样:varnil=errors.New("mygod")虽然上面的声明语句可以通过编译,但是并不提倡这么做。 默认值nil在go语言中,布尔类型的零...
代码星球 ·2020-05-11

go语言常用内置函数

 closefuncclose(cchan<-Type)close用于关闭一个channel,使用close函数要注意以下几点:关闭一个只接受的channel会导致错误在一个已经关闭的channel上发送数据会导致panic关闭一个nilchannel会导致panic在一个channel关闭之后,如果c...

Go语言(container学习)

本文来自:CSDN博客感谢作者:ACHelloWorld查看原文:Go语言(container介绍)container:容器|container可以看出包含三部分:heap,list和ring。下面分别介绍1.heap  heap即为堆,是一种常用的数据结构,在源码里面,提供了接口,在实际使用时需要...
代码星球 ·2020-05-11

go语言的time包(转载)

作者:waynehu地址:go语言的time包go语言的time包##组成time.Duration(时长,耗时)time.Time(时间点)time.C(放时间点的管道)[Time.C:=make(chantime.Time)]time包里有2个东西,一个是时间点,另一个是时长时间点的意思就是“某一刻&r...
代码星球 ·2020-05-11

go语言单元测试和基准测试

Go语言中测试依赖gotest命令。gotest命令是一个按照一定约定和组织的测试代码的驱动程序。在包目录内,所有以_test.go为后缀名的源代码文件都是gotest测试的一部分,不会被gobuild编译到最终的可执行文件中。 测试函数类型在*_test.go文件中有三种类型的函数:单元测试函数,基准测试函...

Go语言中type的用法

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

消息队列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
首页上一页...56789...下一页尾页