摘要:
‘…’ 其实是go的一种语法糖。 它的第一个用法主要是用于函数有多个不定参数的情况,可以接受多个不确定数量的参数。 第二个用法是slice可以被打散进行传递。 下面直接上例子: func test1(args ...string) { //可以接受任意个string参数 for _, v:= ran 阅读全文
摘要:
一、前言 go语言类似Java JUC包也提供了一些列用于多线程之间进行同步的措施,比如低级的同步措施有 锁、CAS、原子变量操作类。相比Java来说go提供了独特的基于通道的同步措施。本节我们先来看看go中CAS操作 二、CAS操作 go中的Cas操作与java中类似,都是借用了CPU提供的原子性 阅读全文
摘要:
atomic 原子操作 原子操作即是进行过程中不能被中断的操作,针对某个值的原子操作在被进行的过程中,CPU绝不会再去进行其他的针对该值的操作。为了实现这样的严谨性,原子操作仅会由一个独立的CPU指令代表和完成。原子操作是无锁的,常常直接通过CPU指令直接实现。 事实上,其它同步技术的实现常常依赖于 阅读全文
摘要:
互斥锁 前言 本次的代码是基于go version go1.13.15 darwin/amd64 什么是sync.Mutex sync.Mutex是Go标准库中常用的一个排外锁。当一个goroutine获得了这个锁的拥有权后, 其它请求锁的goroutine就会阻塞在Lock方法的调用上,直到锁被释 阅读全文
摘要:
☁ test3 go run --trace main.goflag provided but not defined: -traceusage: go run [build flags] [-exec xprog] package [arguments...]Run 'go help run' f 阅读全文
摘要:
香港身份证(英语:Hong Kong Identity Card)样式 由香港特别行政区入境事务处签发,为香港居民的主要身份证明文件。香港法例第177章《人事登记条例》规定,凡年满11岁或在香港逗留多于180天人士,必须于年满11岁后或抵港30天内登记领取身份证。每张香港身份证均有持证人的姓名、出生 阅读全文
摘要:
阅读全文
摘要:
HelloWorld.c #include "stdio.h" int main(int argc, char const *argv[]) { printf("Hello World!\n"); return 0; } 源文件生成预处理文件: gcc -E HelloWorld.c -o Hell 阅读全文