Go语言中文网 为您找到相关结果 1855

来参加NULS2.0造链黑客马拉松,赢近50万美元奖励!

NULS核心团队于2019年7月8日,正式开启了NULS2.0的全球公测,并同步推出了10分钟造链产品NULS Chain Box。为了丰富NULS模块仓库,满足更多应用场景需求,激励开发者参与体验造链,NULS核心团队发起了基于NULS2.0造链的全球黑客马拉松。本次大赛奖励丰厚,总值近50万美元。区块链的赛道上惊喜与挑战并存,我们希望每一个渴求创新与创造,并享受创造所带来成就感的开发者,都可以来参与本次大赛,成为领跑者赢取丰厚奖励。另外,如果您推荐开发者参与本次大赛,也能获得推荐人奖励。大赛规则 大赛时间2019年7月8日——2019年8月20日参赛作品要求1、基于NULS2.0的微服务架构,开发能够实现具体应用场景的模块,或者基于NULS2.0开发支持区块链生态的扩展模块,开发完成的模...阅读全文

博文 2019-07-10 17:03:06 NULS社区

go 的基本数据类型

4. 类型 下面是 Go 支持的基本类型: bool 数字类型 int8, int16, int32, int64, int uint8, uint16, uint32, uint64, uint float32, float64 complex64, complex128 byte rune string bool bool 类型表示一个布尔值,值为 true 或者 false。 package main import "fmt" func main() { a := true b := false fmt.Println("a:", a, "b:", b) c := a && b fmt.Println("c:", c) d := a || b fmt.Println("d:", d) ...阅读全文

博文 2019-04-03 18:35:09 听砜

Go语言笔记 | 06-基本类型

布尔类型 bool 布尔类型的值只能是常量 true 或者 false。 var b bool = true var c = false 布尔类型和数字 0,1 不能直接转换,必须通过编程实现,if 和 for 语句的条件部分都是布尔类型。 // btoi returns 1 if b is true and 0 if false. func btoi(b bool) int { if b { return 1 } return 0 } 整数类型 golang 提供了多种大小的整数类型,也区分了有符号数和无符号数。 几种确定范围的整数类型: uint8 8-bit 0 to 255 uint16 16-bit 0 to 65535 uint32 32-bit 0 to 4294967295 ...阅读全文

博文 2019-03-01 12:34:42 jianggushi

MaxCompute印尼开服,成为阿里云第十二个大数据服务节点

摘要: 人口超2.5亿的印度尼西亚,政府、通讯公司和银行等机构拥有繁杂的数据沉淀,他们正在加快应用大数据开发框架。MaxCompute势必加速这一进程,唤醒沉淀数据,最大化挖掘数据价值。 **点此查看原文:http://click.aliyun.com/m/41849/** 2018年2月9日,阿里云大数据计算服务 [MaxCompute](https://www.aliyun.com/product/odps?spm=a2c4e.11153959.blogcont431209.18.c4796d4aPHzJKZ) 将正式开服雅加达节点。届时,印尼将成为继上海、深圳、香港、北京、新加坡、悉尼、法兰克福、吉隆坡、硅谷、东京、孟买后 MaxCompute 全球化部署的第12个国家。M...阅读全文

Go学习笔记-接口(interface)的实现

对于go的接口,我们先来看看官方的解释 接口是用来定义行为的类型。这些被定义的行为不由接口直接实现,而是通过方法由用户定义的类型实现。如果用户定义的类型实现了某个接口类型声明的一组方法,那么这个用户定义的类型的值就可以赋给这个接口类型的值。这个赋值会把用户定义的类型的值存入接口类型的值 也就是说接口定义的方法,需要由具体的类型去实现它。 下面我们来看看接口的实现 在go语言中,接口的实现与struct的继承一样,不需要通过某个关键字php:implements来声明。在go中一个类只要实现了某个接口要求的所有方法,我们就说这个类实现了该接口。下面来看一个例子 type NoticeInterface interface { seedEmail() seedSMS() } type Stude...阅读全文

博文 2020-01-02 22:32:38 旧梦发癫

Go36-14-接口

接口 通过关键字type和interface,我们可以声明出接口类型。接口类型的类型字面量与结构体类型的看起来有些相似,它们都用花括号包裹一些核心信息。只不过,结构体类型包裹的是它的字段声明,而接口类型包裹的是它的方法定义。 实现接口 接口类型声明中的这些方法所代表的就是该接口的方法集合。一个接口的方法集合就是它的全部特征。对于任何数据类型,只要它的方法集合中完全包含了一个接口的全部特征(即全部的方法),那么它就一定是这个接口的实现类型: type Pet interface { SetName(name string) Name() string Category() string } 这里声明了一个接口类型Pet,它包含3个方法定义。这3个方法共同组成了接口类型Pet的方法集合。只要一个...阅读全文

博文 2019-01-10 12:35:09 骑士救兵

MySQL学习中,数据库事务有哪些特性?

MySQL数据库学习中,总有人会遇到问题,在面对问题的时候,我们一般都是自己先思索、解决,自己无法解答的时候,求助于他人。这是一个很好的习惯,有自学的能力,也有请教的态度。那么有朋友就问了,啥是数据库事务啊,事务又有哪些特性? 什么是数据库事务? ACID是逻辑上的一组操作,组成这个操作的各个单元,要不全部都成功,要不全部都失败,这个特性就是事务。 那事务有什么特性呢? 原子性(atomicity):整个事务中的所有操作,要么全部完成,要么全部不完成 一致性(consistency):事物必须始终保持系统处于一致的状态,不管在任何给定的时间并发事物有多少。 隔离性(isolation):当多个事务并发访问同一个数据源时,数据库能够保持每个访问的事务之间是隔离的,互不影响。 持久化(durab...阅读全文

博文 2019-11-15 16:39:20 zhouzhou2018

算法总结-自定义函数数组转int

如何将数组中的所有元素按照顺序转化成一个int类型的值。 列如:[]int{1,5,9,8}转成 1598 int类型。不能使用数据类型转换。 Golang实现 package main func main() { arr := []int{1, 5, 9, 8} fmt.Printf("array2int =%d \n", array2int(arr)) } func array2int(arr []int) (result int){ base := 1 for i:=len(arr) - 1; i>=0; i-- { result += arr[i] * base base *= 10 } return } PHP实现 阅读全文

博文 2019-02-21 19:34:43 臣孓

golang-101-hacks(22)——Types

注:本文是对golang-101-hacks中文翻译 Go语言中的数据类型可分为两类:已命名和未命名。除了预先已声明的类型(如“int”、“rune”等),还可以自己定义命名类型。例如: type mySlice []int 未命名类型由文字类型定义。即, []int是一个未命名的类型。 根据Go spec,每种类型都有一个底层类型: Unnamed types are defined by type literal. I.e., []int is an unnamed type. According to Go spec, there is an underlying type of every type: 每个类型T都有一个底层类型:如果T是预先声明的布尔型、数值型、字符串型或文字型中的...阅读全文

博文 2019-06-27 00:32:44 羊羽shine

Golang-04 reflect 学习笔记

图片发自简书App 0x01 reflect.TypeOf TypeOf, 看名知义: 读取对象的固有类型信息 包名 类型名 属性信息 属性名称 Tag 方法信息 方法名称 type Man struct { Name string `hello:"world"` } func (m Man) String() string { return fmt.Sprintf("Man.Stringer() is %s", m.Name) } func (m Man) GoString() string { return fmt.Sprintf("Man.GoStringer() is %s", m.Name) } func main() { man := Man{Name: "Gorey"} to ...阅读全文

博文 2019-08-28 23:33:01 国服最坑开发

Golang中类型转换

package main import ( "github.com/astaxie/beego/logs" "strconv" ) func main() { //string 转 int var str string ="1" i, _ := strconv.Atoi(str) logs.Info(i) //string转int64 i64, _ := strconv.ParseInt(str, 10, 64) logs.Info(i64) //string转byte bytes := []byte(str) logs.Info(bytes) //int转string var number=10 itoa := strconv.Itoa(number) logs.Info(itoa) //...阅读全文

剖析nsq消息队列(三) 消息传输的可靠性和持久化[二]diskqueue

剖析nsq消息队列-目录 上一篇主要说了一下nsq是如何保证消息被消费端成功消费,大概提了一下消息的持久化,--mem-queue-size 设置为 0,所有的消息将会存储到磁盘。 总有人说nsq的持久化问题,消除疑虑的方法就是阅读原码做benchmark测试,个人感觉nsq还是很靠谱的。 nsq自己实现了一个先进先出的消息文件队列go-diskqueue是把消息保存到本地文件内,很值得分析一下他的实现过程。 整体处理逻辑 go-diskqueue 会启动一个gorouting进行读写数据也就是方法ioLoop 会根据你设置的参数来进行数据的读写,流程图如下 evernotecid://D2602A6B-6F53-4199-885D-97DFC21CBA3E/appyinxiangcom/2...阅读全文

博文 2019-11-15 18:04:17 li_peng

golang碎片整理之反射

本文介绍go语言反射的意义和基本使用。 变量的内在机制 go语言中的变量是分为两部分的: 类型信息:预先定义好的元信息 值信息:程序运行过程中可动态变化的。 反射的介绍 反射是指在程序运行期对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运行程序时,程序无法获取自身的信息。支持反射的语言可以在程序编译期将变量的反射信息,如字段名称,类型信息、结构体信息等整合到可执行文件中,并给程序提供接口访问反射信息,这样就可以在程序运行期获取类型的反射信息,并且有能力修改它们。Go程序在运行期使用reflect包访问程序的反射信息。在上一篇博客中我们介绍了空接口。空接口可以存储任意类型的变量,那我们如何知道这个空接口保存的数据是什么呢?反射就是在运...阅读全文

博文 2019-07-07 22:03:13 霍帅兵

Golang Map实现(一)

本文学习 Golang 的 Map 数据结构,以及map buckets 的数据组织结构。 hash 表是什么 从大学的课本里面,我们学到:hash 表其实就是将key 通过hash算法映射到数组的某个位置,然后把对应的val存放起来。如果出现了hash冲突(也就是说,不同的key被映射到了相同的位置上时),就需要解决hash冲突。解决hash冲突的方法还是比较多的,比如说开放定址法,再哈希法,链地址法,公共溢出区等(复习下大学的基本知识)。 其中链地址法比较常见,下面是一个链地址法的常见模式: golang_hash_1_common.jpg Position 指通过Key 计算出的数组偏移量。例如当 Position = 6 的位置已经填满KV后,再次插入一条相同Position的数据将...阅读全文

博文 2020-04-26 10:32:44 搬砖程序员带你飞

Go36-4,5,6-变量

上篇 Go语言中的程序实体包括变量、常量、函数、结构体和接口。Go语言是静态类型的编程语言,所以我们在声明变量或常量的时候都需要指定它们类型,或者给予足够的信息以使Go语言能够推导出它们的类型。 声明变量 声明变量的方式: var name string var name = "Adam" name := "Bob" // 短变量声明 第三种短变量声明只能在函数体内部使用。 知识点 类型推断 后两种在声明的同时还进行了赋值,没有显示的指定类型,而是利用了Go的类型推断。 代码重构 我们通常把“不改变某个程序与外界的任何交互方式和规则,而只改变其内部实现”的代码修改方式,叫做对该程序的重构。 代码块 在Go语言中,代码块一般就是一个由花括号括起来的区域,里面可以包含表达式和语句。 Go语言本身...阅读全文

博文 2019-01-04 00:35:19 骑士救兵

golang xorm postgresql数据库操作

1.连接数据库func Connect()(* xorm.Engine) {str := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable", host, port, user, password, dbName)engine,err := xorm.NewEngine("postgres",str)if err != nil {log.Fatal(err)return nil }err = engine.Ping()if err != nil {log.Fatal(err)return nil }engine.Logger().SetLevel(core.LOG_DEBUG)f,err :=...阅读全文

博文 2019-08-13 18:32:46 dullswords

区块链数字货币承兑商支付系统开发

区块链数字货币承兑商支付系统开发 数字货币承兑系统怎样的? 入金简述:加密支付系统运用了类似于支付宝的担保交易机制,结合独有的点对点传输技术、实时清算引擎、智能数字钱包、极高的网络平安体系,跨交易所最优价格兑换引擎等区块链技术。终端客户只需在入金界面设置好充值金额,向USDT承兑商支付人民**//币,即可自动完成数字货币的购买、充值、交割、双向承兑等所有操作,五分钟之内把数字货币胜利支付和清算至平台商户后台,完成客户入金操作。 同样的原理,终端客户出金,提交出金申请确认后,系统将自动把相应数量的数字货币折算成人民币,由USDT承兑商结算至客户绑定银行卡。客户入金与出金均通过数字货币承兑商进行结算,与平台没有直接的资金往来。整个支付交易过程简化为:基于区块链技术+预先冻结锁定+人工审核(也可以...阅读全文

golang笔记之接口

接口类型是对其它类型行为的抽象和概括;因为接口类型不会和特定的实现细节绑定在一起,通过这种抽象的方式我们可以让我们的函数更加灵活和更具有适应能力。 很多面向对象的语言都有相似的接口概念,但Go语言中接口类型的独特之处在于它是满足隐式实现的。也就是说,我们没有必要对于给定的具体类型定义所有满足的接口类型;简单地拥有一些必需的方法就足够了。这种设计可以让你创建一个新的接口类型满足已经存在的具体类型却不会去改变这些类型的定义;当我们使用的类型来自于不受我们控制的包时这种设计尤其有用。 在本章,我们会开始看到接口类型和值的一些基本技巧。顺着这种方式我们将学习几个来自标准库的重要接口。很多Go程序中都尽可能多的去使用标准库中的接口。 接口约定 目前为止,我们看到的类型都是具体的类型。一个具体的类型可以...阅读全文

博文 2019-05-07 13:35:09 月下独酌100

2019.01.27

内建变量类型 内置变量类型bool, string(u)int, (u)int8, (u)int16, (u)int32, (u)int64, uintptrbyte, runefloat32, float64, complex64, complex128(u)是unsigned代编有符号或无符号go与其他不同的类型1、uintptr go语言的指针类型2、rune 其实rune是char类型,而且是char32位3、complex 复数类型。Go语言类型转化func triangle() { var a ,b int = 3,4 var c int //go语言没有隐式强制类型转换,必须显示强制类型转换 c = int(math.Sqrt(float64(a*a+b*b))) fmt.Pr...阅读全文

博文 2019-01-27 18:34:42 Software泥瓦匠

Golang构建Python高性能模块

package mainimport "C"​//指定那些函数能被外部调用//export testfunc test() int{ //计算 0-1000000000 的和 var s int for a := 0; a <= 10000000000; a++ { s += a } return s}​//pxport addstrfunc addstr(a,b * C.char) *C.char{ merge := C.GoString(a) + C.GoString(b) return C.CString(merge)​}func main(){}编译生成动态链接库,生成的.so文件可以被python加载并调用但是有一个需要注意的地方:Python是利用ctypes来跟so模块进行交互...阅读全文

博文 2020-05-20 16:53:43 大熊_7d48

从零学习 Go 语言(07):流程控制之if-else

Hi,大家好呀,我是一个刚学习 Go 语言不久的新手,在入门 Golang 的这段时间里,我写了很多详细的学习笔记,很适合新手学习噢。这些文章已经发布在我的个人微信公众号里:《Go编程时光》里,今天开始将文章内容搬运到这里,希望有更多的人看到,给更的人带来帮助,但是这里文章会相对滞后,想获取最新文章,可以前往关注《Go编程时光》,请放心关注,这是一个纯分享的号,完全没有广告。 **系列导读 ** [从零学习 Go 语言(01):一文搞定开发环境的搭建](https://studygolang.com/articles/27365) [从零学习 Go 语言(02):学习五种变量创建的方法](https://studygolang.com/articles/27432) [从零学习 Go 语言(...阅读全文

博文 2020-04-01 11:07:38 hello_wbm

老虞学GoLang笔记-常量

开发十年,就只剩下这套Java开发体系了 >>> 常量 常量和C#中的概念相同,在编译期被创建。因为在编译期必须确定其值,因此在声明常量时有一些限制。 其类型必须是:数值、字符串、布尔值 表达式必须是在编译期可计算的 声明常量的同时必须进行初始化,其值不可再次修改 Doc http://golang.org/doc/go_spec.html#Constants http://golang.org/doc/go_spec.html#Constant_expressions http://golang.org/doc/go_spec.html#Constant_declarations http://golang.org//doc/go_spec.html#Iota 语法 const关键字用于声...阅读全文

Go 的基本语法

go 的关键字 下面列举了 Go 代码中会使用到的 25 个关键字或保留字: break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var Go 语言数据类型 1 布尔型 布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。 2 数字类型 整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。 3 字符串类型: 字符串就是一串固定...阅读全文

golang 学习笔记之字符串

golang 中字符串相关操作用得最多的基础库是 strings 和 strconv 1、strings.HasPrefix 判断字符串开头常见的场景是用来判断服务地址是HTTP还是HTTPS 协议,例如:func main() { str := "http://www.baidu.com" if ok := strings.HasPrefix(str,"http://");ok { fmt.Println("it's http protocol") }else{ fmt.Println("unknown") } }2、strings.HasSuffix 判断字符串后缀场景,用于判断文件类型,例如图片是否是png格式func main() { pic := "baidu.png" if ok...阅读全文

博文 2019-06-18 22:03:49 筑梦攻城狮

玩转redis-简单消息队列

使用go语言基于redis写了一个简单的消息队列 源码地址 使用demo redis的 list 非常的灵活,可以从左边或者右边添加元素,当然也以从任意一头读取数据 添加数据和获取数据的操作也是非常简单的 LPUSH 从左边插入数据 RPUSH 大右边插入数据 LPOP 从左边取出一个数据 RPOP 从右边取出一个数据 127.0.0.1:6379> LPUSH list1 a (integer) 1 127.0.0.1:6379> RPUSH list1 b (integer) 2 127.0.0.1:6379> LPOP list1 "a" 127.0.0.1:6379> RPOP list1 "b" 复制代码或者使用 BLPOP BRPOP 来读取数据,不同之处是取数据时,如果没有数据...阅读全文

博文 2020-04-08 14:37:48 compiler

[自助建站]模板渲染的三次革命

为啥想写这篇文章呢?培养自己一个良好的学习习惯:多总结 再以一个参与者的角度,总结一下我们渲染模板的心酸路程。 使用Vue渲染模板 开发前期,为了快速开发,编辑器和渲染使用同一套代码。所以决定渲染也使用Vue! SEO问题由后端单独写一个程序。 开发初步完成,测试环境下,主管发现这套方案行不通 原因如下: 百度等爬虫会对比爬虫抓到的和用户真实看到的,如果不一致百度就会认为这是在欺骗爬虫,百度会有处罚,不利于seo; 一些爬虫不会有指定的UA, 如微信 钉钉他们的爬虫就和正常人访问一样,这个时候就没办法区分爬虫和人了,就会出现微信和爬虫抓取不到数据的情况。 接着进入了渲染模板的第二次革命! nuxt. js渲染 这个在编辑器开发的代码上 改动的很少,SEO也不需要单独一个程序,感觉没有什么缺点...阅读全文

博文 2020-02-10 23:32:50 merrylmr

golang 空接口类型

package main import "fmt" // 空接口 func main() { var temp map[string]interface{} // 声明一个空接口变量 temp = make(map[string]interface{}, 20) temp["name"] = "zhangsan" temp["weight"] = 65 temp["school"] = true temp["hobel"] = [...]string{"打球", "跑步", "codeing"} fmt.Println(temp) } 空接口类型的应用 package main import "fmt" //空接口的应用 //类型断言 //func assgin(arg interface{...阅读全文

博文 2020-04-10 23:32:42 小麦客

【译】Golang x-files 里的rsync介绍(并发问题的解决方案)

本文是基于原文并结合作者自己的一些观点混合而成,如有问题欢迎交流。 go语言里使用go关键字就可以轻松搞定并发的问题,它讲究的是“不要通过共享内存来通信,而应该通过通信来共享内存”的原则,在Go里channel是个线程安全的多线程通讯介质。Go本身的这些原语基本上可以解决常见的各种需求了。 但是有些时候在某些情况下,面对并发问题或在错误处理上需要引入更多的协调手段,比如,goroutines会去访问一个非线程安全的资源(如map,slice等)。Go的标准库给我们提供了WaitGroup, Once, 和 Mutex, 如果再野一点还可以用 sync/atomic(原子操作包,偏底层,特殊场景的时候用到),这些工具结合上chanel确实可以解决并发场景下数据竞争的问题,但是这样做多少回让我们...阅读全文

博文 2020-03-08 22:55:45 刘付强

Golang中make和new的区别

new:func new(Type) *Type 接受一个参数,这个参数是一种类型,而不是一个值,分配好内存后, 返回一个指向该类型内存地址的指针,这个指针指向的内容的值为该类型的零值。 对于不同的数据类型,零值的意义是完全不一样的。 比如,对于bool类型,零值为false;int的零值为0;string的零值是空字符串 make:func make(t Type, size ...IntegerType) Type 同样用于内存分配,但和new不同,make用于channel,slice和map的分配, 而且返回的类型就是这三个类型本身,而不是它们的指针, 因为这三种类型本身就是引用类型,所以就没必要返回他们的指针了。 具体而言,有如下几种用法: (1)make(map[string]s...阅读全文

博文 2020-04-18 17:32:50 普朗tong

第九天:golang学习笔记之bufio

★bufio | bufio 包实现了带缓存的I/O操作. golang界里我老八,今天给大家看个bufio。bufio包实现了带缓存的I/O,把io.Reader或io.Writer封装成更牛逼的对象 bufio bufio包内没有接口定义,只有结构体: 1. bufio.Reader 内部全私有变量,通过如下方法创建: - NewReader(rd io.Reader) *Reader:调用NewReaderSize创建defaultBufSize大小(4096B)的bufReader - NewReaderSize(rd io.Reader, size int) *Reader 结构体定义如下: type Reader struct { buf []byte rd io.Reader ...阅读全文

博文 2019-12-27 16:32:43 Macmillan_

从零学习 Go 语言(07):数据类型之指针

Hi,大家好呀,我是一个刚学习 Go 语言不久的新手,在入门 Golang 的这段时间里,我写了很多详细的学习笔记,很适合新手学习噢。这些文章已经发布在我的个人微信公众号里:《Go编程时光》里,今天开始将文章内容搬运到这里,希望有更多的人看到,给更的人带来帮助,但是这里文章会相对滞后,想获取最新文章,可以前往关注《Go编程时光》,请放心关注,这是一个纯分享的号,完全没有广告。 **系列导读 ** [从零学习 Go 语言(01):一文搞定开发环境的搭建](https://studygolang.com/articles/27365) [从零学习 Go 语言(02):学习五种变量创建的方法](https://studygolang.com/articles/27432) [从零学习 Go 语言(...阅读全文

博文 2020-03-31 10:53:01 hello_wbm

golang接口

定义 在 Go 中,关键字 interface 被赋予了多种不同的含义。每个类型都有接口,意味着对那个类型定义了方法集合 。 这段代码定义了具有一个字段和两个方法的结构类型 S。 type S struct { i int } func (p *S) Get() int { return p.i } func (p *S) Put(v int) { p.i = v } 可以定义接口类型,仅仅是方法的集合。 type I interface { Get() int Put(int) } 定义另外一个类型同样实现了接口 : type R struct { i int } func (p *R) Get() int { return p.i } func (p *R) Put(v int) { p...阅读全文

博文 2020-01-01 02:32:52 程序小白菜

golang的排序功能

golang的排序功能 首先明确两个基础概念 排序基本上针对slice类型 可排序的元数据类型有整数,浮点数,和字符串 接着讨论元数据类型的排序 sort模块提供了函数给元数据类型排序。 func Ints(a []int) func Float64s(a []float64) func Strings(a []string) 然后到排序怎么处理呢 func Reverse(data Interface) Interface 这个函数的用法很奇怪,下面用例子说明: 数据类型sort.Interface的介绍后面再说,这里我们把它等同于slice即可:func Reverse(data []int) []int package main import ( "fmt" "sort" ) func...阅读全文

博文 2020-02-20 09:32:43 CodingCode

Go slice(四)

Golang的数据声明格式如下 data := [7]int{} data:=[3]int{1, 2, 3} data := [...]int{1, 2, 3} 我们注意到,与其他语言不同的是数组的大小放在前面。 Go 语言的数组当做参数时,是值传递,即会copy数组中的所有数据。 所以在实际的go语言开发中其实很少使用数组,而是使用slice. 所以下面我们重点介绍一下slice data := []int{} data := []int{1,2, 3} slice的声明和array类似,只是省略了大小或者'...' 当slice的空间不足时,它就会自动将存储空间增加一倍。 可以用len(data)获取slice中数据的长度,用cap(data)获取slice的容量(capacity). ...阅读全文

博文 2019-03-09 14:34:39 币来币往

老虞学GoLang笔记-常量

开发十年,就只剩下这套Java开发体系了 >>> 常量 常量和C#中的概念相同,在编译期被创建。因为在编译期必须确定其值,因此在声明常量时有一些限制。 其类型必须是:数值、字符串、布尔值 表达式必须是在编译期可计算的 声明常量的同时必须进行初始化,其值不可再次修改 Doc http://golang.org/doc/go_spec.html#Constants http://golang.org/doc/go_spec.html#Constant_expressions http://golang.org/doc/go_spec.html#Constant_declarations http://golang.org//doc/go_spec.html#Iota 语法 const关键字用于声...阅读全文

Go通道笔记

package main import ( "fmt" "sync" "time" "unsafe" ) func main10() { done := make(chan struct{}) // 结束事件 c := make(chan string) // 数据传输通道 go func() { s := <-c // 接受消息 println(s) close(done) // 关闭通道,作为结束通知 }() c <- "hi!" // 发送消息 <-done // 阻塞,直到有数据或者管道关闭 } func main11() { c := make(chan int, 3) // 创建带 3 个缓冲槽的异步通道 c <- 1 // 缓冲区未满,不会阻塞 c <- 2 println(<...阅读全文

博文 2020-03-08 00:32:39 xiongkun01

Go基本数据类型

Go语言中给我们提供的所有基本数据类型,我们应该理解如何在自己的Go程序中使用这些类型。 数据类型Go语言将数据类型分为四类:Basic Types(基础类型)、Aggregate Types (复合类型)、Reference Types (引用类型)、Interface Types (接口类型)。 基础类型包括:数字、字符串和布尔型。布尔型的值只可以是常量 true 或者 false。数字类型支持整型和浮点型,并且支持复数,其中位的运算采用补码。 复合数据类型包括:数组、结构体是通过组合简单类型,来表达更加复杂的数据结构。 引用类型包括:指针、slice、map、 channel、接口和函数类型。当声明引用类型的变量时,创建的变量被称作标头(header)值。从技术细节上说,字符串也是一种...阅读全文

博文 2020-02-25 15:32:45 公子邪o

golang interface 接口数据类型

// interface 接口类型 package main import "fmt" // 定义三个 结构体 type cat struct {} type dog struct {} type person struct {} //定义一个 interface 数据类型变量 type speaker interface { speak() //要实现的方法 } func (c cat)speak() { fmt.Printf("喵喵喵\n") } func (d dog)speak() { fmt.Printf("汪汪汪\n") } func (p person)speak() { fmt.Printf("啊啊啊\n") } func da(er_obj speaker) { er_ob...阅读全文

博文 2020-04-09 00:32:51 小麦客

2019-08-07

2019-08-07MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。mongodb特点它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:*面向集合存储,易存储对象类型的数据。模式自由。*支持动态查询。*支持完全索引,包含内部对象。*支持查询。*支持复制和故障恢复。*使用高效的二进制数据存储,包括大型对象(如视频等)。*自动处理碎片,以支持云计算层次的扩展性。*支持 Gol...阅读全文

博文 2019-08-08 10:33:16 Overonenewsi

容器开启数据服务之旅系列(一):Kubernetes如何解自建PostgreSQL运维之痛

摘要: 通过阿里云Kubernetes容器服务,开启你的数据服务之旅 (一)云上运维自建数据库之痛,使用容器服务自动恢复数据库postgresql实例 概述 本文为大家介绍一种容器化的数据服务 posgresql db on ACK,通过使用云盘自动挂载实现的块存储PVC来做到数据库的免运维恢复。 **容器开启数据服务之旅系列(一):Kubernetes如何解自建PostgreSQL运维之痛** **概述** 本文为大家介绍一种容器化的数据服务 posgresql db on ACK,通过使用云盘自动挂载实现的块存储PVC来做到数据库的免运维恢复。借助阿里云Kubernetes服务与阿里云存储资源的深度整合,打造数据库实例的免运维异地(ECS)恢复的不死神话。 **先...阅读全文

如何更好处理数据仓库服务必然需要云数据库HybridDBforPostgreSQL

课程介绍 云数据库HybridDB for PostgreSQL(ApsaraDB HybridDB for PostgreSQL)是一种在线MPP大规模并行处理数据仓库服务。云数据库HybridDB for PostgreSQL基于Greenplum Database开源数据库项目,并由阿里云深度扩展,支持OSS外部表、JSON数据类型、HyperLogLog预估分析等功能特性。通过符合SQL2008标准查询语法及OLAP分析聚合函数,提供灵活的混合分析能力。支持行存储和列存储混合模式,提高分析性能,同时支持数据压缩技术,降低存储成本。并提供在线扩容、性能监测等服务,用户无需进行复杂的大规模MPP集群运维管理,让DBA、开发人员及数据分析师专注于如何通过SQL提高企业的生产力,创造核...阅读全文

Golang中make和new的区别

1:new:func new(Type) *Type 接受一个参数,这个参数是一种类型,而不是一个值,分配好内存后,返回一个指向该类型内存地址的指针,这个指针指向的内容的值为该类型的零值。对于不同的数据类型,零值的意义是完全不一样的。比如,对于bool类型,零值为false;int的零值为0;string的零值是空字符串2:make:func make(t Type, size ...IntegerType) Type,具体而言,有如下几种用法:(1)make(map[string]string):即缺少长度的参数,只传类型,这种用法只能用在类型为map或chan的场景(2)make([]int, 2):指定了长度,例如make([]int, 2)返回的是一个长度为2的slice(3)mak...阅读全文

博文 2020-04-17 07:32:44 普朗tong

2019-08-07

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。mongodb特点它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:*面向集合存储,易存储对象类型的数据。模式自由。*支持动态查询。*支持完全索引,包含内部对象。*支持查询。*支持复制和故障恢复。*使用高效的...阅读全文

Oracle数据库查询用 where in 查询的项超过1000条的解决方案

func GetWhereInValuesSql(column string, list []string, num int) string { valueSize := len(list) if valueSize == 0 { return "" } sql := "(" add := 0 if valueSize%num != 0 { add = 1 } batchSize := valueSize/num + add for i := 0; i < batchSize; i++ { if i > 0 { sql += ") or " } sql += column + " in (" for j := i * num; (j < (i+1)*num) && j < valueSize...阅读全文

博文 2020-04-10 10:45:35 qianyer

kubernetes垃圾回收器GarbageCollector源码分析(一)

kubernetes版本:1.13.2 背景 由于operator创建的redis集群,在kubernetes apiserver重启后,redis集群被异常删除(包括redis exporter statefulset、redis statefulset)。删除后operator将其重建,重新组建集群,实例IP发生变更(中间件容器化,我们开发了固定IP,当statefulset删除后,IP会被回收),导致创建集群失败,最终集群不可用。 经多次复现,apiserver重启后,通过查询redis operator日志,并没有发现主动去删除redis集群(redis statefulset)、监控实例(redis exporter)。进一步去查看kube-controller-manager的日...阅读全文

GoLang 学习笔记 - 基本数据类型

GoLang 的数据类型   在 GoLang 中,数据类型用于声明函数和变量。数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。   GoLang 有以下几种数据类型: 类型 描述 布尔 基本数据类型,只有两个值,并且只可以是常量 —— true 或者 false。 数值 基本数据类型,GoLang 支持整型、浮点型数字,并且支持复数,其中位的运算采用补码。 字符串 基本数据类型,GoLang 中 string 类型被官方定为基本数据类型,是一串由单个字节连接起来的字符序列。GoLang 字符串的字节使用 UTF-8 编码标识 Unicode 文本。 派生 派生类型包括很多种,其中有:指针、数组、结构体、管道、切片、接口...阅读全文

博文 2019-07-20 20:32:39 凉丶心园

区块链和数据库

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 区块链技术是一种不依赖第三方、通过自身分散式节点进行网路数据的存储、验证、传递和交流的一种技术方案。因此,有人从金融会计的角度,把区块链技术看成是一种分散式开放性去中心化的大型网路记账薄,任何人任何时间都可以採用相同的技术标准加入自己的信息,延伸区块链,持续满足各种需求带来的数据录入需要。 通俗一点说,区块链技术就指一种全民参与记账的方式。所有的系统背后都有一个资料库,你可以把资料库看成是就是一个大账本。那麽谁来记这个账本就变得很重要。目前就是谁的系统谁来记账,微信的账本就是腾讯在记,淘宝的账本就是阿裡在记。但现在区块链系统中,系统中的每个人都可以有机会参与记账。在一定时间段内如果有任何数据变化,系统中每个人都可...阅读全文

Go教程第四篇:数据类型

第四篇:数据类型 这篇文章是我们的《Golang系列教程》的第四篇文章。 下面是Go语言中的基本数据类型: bool Numberic Types int8, int16,int32,int64,int uint8,uint16,uint64,uint float32,float64 complex64,complex128 byte rune bool 布尔类型代表了一个布尔值,它要么是true要么是false。 package main import "fmt" func main() { a := true b := false fmt.Println("a:", a, "b:", b) c := a && b fmt.Println("c:", c) d := a || b fmt....阅读全文

Golang 写的一个动态时间片轮转进程调度算法

现在还有一个问题,在最后一个进程运行完之后,还会再打印一次输出 package main import "fmt" type Process struct { //定义进程的数据结构 PRIORITY int CPUTIME int ALLTIME int STATE string } func main() { PR := map[int]*Process{ //初始进程 0: &Process{ PRIORITY: 9, CPUTIME: 0, ALLTIME: 3, STATE: "ready", }, 1: &Process{ PRIORITY: 38, CPUTIME: 0, ALLTIME: 2, STATE: "ready", }, 2: &Process{ PRIORITY:...阅读全文

博文 2020-04-12 06:32:41 一位路过的假面骑士丶