51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#Lang
golang--交替打印一个数组中的元素
摘要:今天面试中,面试官让写两个goroutine交替打印一个数组中的元素,没有写出来,所以今天总结一下:packagemainimport("fmt""time")vararr=[5]int{1,2,3,4,5}funcg1(chchanbool){fori:=0;i<5;i++{ch&...
代码星球
·
2021-01-09
golang--
交替
打印
一个
数组
Golang---基本类型(interface)
摘要:今天我们来学习Golang中的interface类型。 interface是一种类型typeAnimalinterface{SetName(string)GetName()string} 首先interface是一种类型,从它的定义中就可以看出用了type关键字,更准确...
代码星球
·
2021-01-09
Golang---
基本
类型
interface
Golang---基本类型(map)
摘要:今天我们来学习Golang中的另外一种常用的数据类型,通过数据结构和源码来分析golang中的map是如何实现的。 bucketCntBits=3bucketCnt=1<<bucketCntBits//Maximumaverageloadofabucketthattriggers...
代码星球
·
2021-01-09
Golang---
基本
类型
map
Golang---基本类型(slice)
摘要:今天我们来学习Golang中的一个基本的数据结构slice,这个和C++中的vector容器思想基本一致,是一个容量可变的数组,那我们就来看下它和array的区别和联系,并对其中的典型操作给出分析。 //StringHeaderistheruntimerepresentationofastr...
代码星球
·
2021-01-09
Golang---
基本
类型
slice
Golang---基本类型(string)
摘要:由于在实习过程中,做的项目都是基于Golang语言,所以在面试时,面试官也一定会理所当然的问Golang,所以在最近一段时间,主要学习这门语言的基础知识,以及常出的面试题。 字符串虽然在Go语言中是基本类型string,但是它实际上是由字符组成的数组,类似于C语言中的...
代码星球
·
2021-01-09
Golang---
基本
类型
string
Golang---内存逃逸
摘要:今天我们来了解一下Golang中的内存逃逸的概念。 引言:写过C/C++的同学都知道,调用著名的malloc和new函数可以在堆上分配一块内存,这块内存的使用和销毁的责任都在程序员。一不小心,就会发生内存泄露,搞得胆战心惊;切换到Golang后,基本不会担心内存泄露了。虽然也有new函数,但...
代码星球
·
2021-01-09
Golang---
内存
逃逸
Golang---内存管理(内存分配)
摘要:上次我们学习了Golang的goroutine调度策略,今天我们来学习Golang的内存管理策略。内存池 最直接的方式是调用malloc函数,指定要分配的大小,直接向操作系统申请。问题是这种方式会涉及到用户态和内核态的切换过程,那么频繁的切换就会带来很大的性能下降,我们要减少用户态和内核态的...
代码星球
·
2021-01-09
内存
Golang---
管理
分配
Golang---GMP调度策略
摘要:Go能很好的在用户空间支持并发模型,这也是Go如此火热的原因,那今天我们来学习Go的调度机制。G结构体 G是goroutine的缩写,相当于操作系统中的进程控制块,在这里就是goroutine的控制结构,是对goroutine的抽象,下面是G的结构(只列出了部分与调度有关的)://用于保存上下文的gob...
代码星球
·
2021-01-09
Golang---GMP
调度
策略
Golang---Channel
摘要:今天我们来学习Go语言中channel,这是Go语言中非常重要的一个特性。 创建 在使用channel之前需要使用make来创建一个channel,如果在使用之前没有使用make,则会造成死锁(原因在后面死锁部分进行说明)ch:=make(chanint)//创建无缓冲的chann...
代码星球
·
2021-01-09
Golang---Channel
Golang---sort包
Go语言标准库sort包中实现了几种基本的排序算法:插入排序、快速排序和堆排序,但是在使用sort包进行排序时无需具体考虑使用哪种排序方式,因为该方法会根据传入的排序的数据量来进行自动选择合适的排序算法。funcinsertionSort(dataInterface,a,bint)//插入排序funcheapSor...
代码星球
·
2021-01-09
Golang---sort
Golang---序列化和反序列化
我们的数据对象要在网络中传输或保存到文件,就需要对其编码和解码动作,目前存在很多编码格式:json,XML,Gob,GoogleProtocolBuffer等,Go语言当然也支持所有这些编码格式。 序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状...
代码星球
·
2021-01-09
序列化
Golang---
Golang---BASE64编码原理
Base64是一种基于64个可打印字符来表示二进制数据的表示方法。在Base64中可打印字符包括字母A-Z,a-z,数字0-9,这样共有62个字符,另外两个可打印符号在不同的编码系统中不同。由于2^6=64,所以每6个比特为一个单元,对应某个可打印字符。比如:3个字节(ASCII表示)有24个比特,可由4个Base...
代码星球
·
2021-01-09
Golang---BASE64
编码
原理
用golang启动一个daemon
用golang启动一个daemon1packagemain23import(4"fmt"5"log"6"os"7"runtime"8"syscall"9"time"10)1112funcdaemon(nochdir,nocloseint)int{13varret,ret2uintptr14varerrsyscall.E...
代码星球
·
2021-01-08
golang
启动
一个
daemon
Golang container/ring闭环数据结构的使用方法
1//引入包2import"container/ring"3//创建闭环,这里创建10个元素的闭环4r:=ring.New(10)5//给闭环中的元素附值6fori:=1;i<=r.Len();i++{7r.Value=i8r=r.Next()9}10//循环打印闭环元素的值,这里的操作方法很像javascrip...
代码星球
·
2021-01-08
Golang
container
ring
闭环
数据结构
flink error: Exception in thread "main" java.lang.NoClassDefFoundError
idea运行时报错:Exceptioninthread"main"java.lang.NoClassDefFoundErrorCausedby:java.lang.ClassNotFoundException:org.apache.flink.api.java.ExecutionEnvironment但是开发时idea...
代码星球
·
2020-12-30
flink
error
Exception
in
thread
首页
上一页
...
5
6
7
8
9
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他