-
Golang(Go语言)中append函数返回值必须有变量接收的原因探究
所属栏目:[大数据] 日期:2020-12-16 热度:146
append函数返回更新后的slice(长度和容量可能会变),必须重新用slice的变量接收,不然无法编译通过 为了弄明白为什么,首先我们需要清楚几件事: slice的底层是数组,一片连续的内存,slice变量只是存储该slice在底层数组的起始位置、结束位置以及容量。[详细]
-
golang使用Nsq
所属栏目:[大数据] 日期:2020-12-16 热度:158
为什么要使用Nsq 最近一直在寻找一个高性能,高可用的消息队列做内部服务之间的通讯。一开始想到用zeromq,但在查找资料的过程中,意外的发现了Nsq这个由golang开发的消息队列,毕竟是golang原汁原味的东西,功能齐全,关键是性能还不错。其中支持动态拓展,[详细]
-
[翻译]Go的50坑:新Golang开发者要注意的陷阱、技巧和常见错误[1
所属栏目:[大数据] 日期:2020-12-16 热度:166
Golang作为一个略古怪而新的语言,有自己一套特色和哲学。从其他语言转来的开发者在刚接触到的时候往往大吃苦头,我也不例外。这篇文章很细致地介绍了Golang的一些常见坑点,读完全篇中枪好多次。故将其转载。由于文章很长,分为上下两部分,第一部分记录初[详细]
-
golang make()的第三个参数
所属栏目:[大数据] 日期:2020-12-16 热度:129
学习了一段时间golang,大概可以用golang做一些小东西了,于是回顾了一下一些基础的东西。golang分配内存有一个make函数,该函数第一个参数是类型,第二个参数是分配的空间,第三个参数是预留分配空间,前两个参数都很好理解,但我对第三个参数却一脸懵逼,[详细]
-
golang float32/64与[]byte互转
所属栏目:[大数据] 日期:2020-12-16 热度:104
网络协议开发中经常需要将int、float、bool等转为二进制数据,float32、64 与[]byte处理: import ( "encoding/binary" "math")func Float32ToByte(float float32) []byte { bits := math.Float32bits(float) bytes := make([]byte,4) binary.LittleEndian.P[详细]
-
golang 连接mysql 参数备忘
所属栏目:[大数据] 日期:2020-12-16 热度:200
git 地址 https://github.com/Go-SQL-Driver/MySQL Parameters Parameters are case-sensitive! Notice that any of true , TRUE ,monospace; font-size:13.6px; padding:0.2em 0px; margin:0px">True or 1 is accepted to stand for a true boolean value.[详细]
-
Smallest Multiple by GoLang
所属栏目:[大数据] 日期:2020-12-16 热度:193
My answer gives a general algorithm to deal with this problem via golang,and it produces the smallest positive number that is evenly divisible by all of the numbers from 1 to N. However,the overflow problem should be considered well by you[详细]
-
mqttserver golang
所属栏目:[大数据] 日期:2020-12-16 热度:97
https://github.com/surgemq/surgemq http://surgemq.com[详细]
-
golang返回值为interface{}的类型判断
所属栏目:[大数据] 日期:2020-12-16 热度:194
看标题就知道,这是一个很简单的问题,就一个函数的事,但是,今天一同学golang的几个人中,已经不止一个人问我了,在这里我就说一下,也希望对不清楚的娃有些许帮助,大神别喷,飘过就行了。 大家知道,golang对于不确定返回值可以用interface{}代替,这确[详细]
-
坑爹的golang日期时间格式format()
所属栏目:[大数据] 日期:2020-12-16 热度:156
今天重拾golang,用到了format()函数格式化字符串,用了语句time.now().format(“2015-11-12 12:00:00”),结果输出结果就是不能达到理想的结果,然后把golang文档中的”2006-01-02 15:04:05“放进去就可以了,搞了好久没搞明白怎么回事,随意百度了一下,原[详细]
-
通过vsphere golang webservice sdk 获取vmware主机、虚拟机的监
所属栏目:[大数据] 日期:2020-12-16 热度:152
目前正在使用prometheus对我们的openstack云环境进行监控,但过了半年测试环境的主机资源迟迟未到位,因此和基架沟通是否有传统环境的需求可以做,提到了cmdb和商业监控的替换。但基架又不想我们再到每台虚拟机上去安装agent,因此需要通过vSphere Web Servi[详细]
-
golang chanel
所属栏目:[大数据] 日期:2020-12-16 热度:57
golang 中的chanel用于多个goroutines之间的通信,相当于linux中的阻塞的管道操作,可以配置为具有只读只写的属性: 只读:-ch 只写:ch- 创建chan时,可以指定管道的单位和缓冲区的大[详细]
-
Golang:(基础)windows环境搭建
所属栏目:[大数据] 日期:2020-12-16 热度:75
Golang:(基础)windows环境搭建 解压GO压缩包到:C:go;创建文件夹C:gopathsrcmyfirstgohello.go; 设置环境变量; 安装vs code,打开目录C:gopath; 安装插件与工具(ctrl+shift+p): 安心等待全部安装完成。 有安装失败的,手动从github搜索下载,[详细]
-
Golang之bytes.buffer学习笔记
所属栏目:[大数据] 日期:2020-12-16 热度:147
bytes.buffer是一个缓冲byte类型的缓冲器存放着都是byte Buffer 是 bytes 包中的一个 type Buffer struct{…} A buffer is a variable-sized buffer of bytes with Read and Write methods. The zero value for Buffer is an empty buffer ready to use. ([详细]
-
Golang设计模式之单例模式
所属栏目:[大数据] 日期:2020-12-16 热度:51
1. 概述 单例模式,顾名思义就是在程序的运行中只产生一个实力。在Go实现上也有多种形式。 相关源代码demo在Github上,可供参考! 2. 实现 一、懒汉模式. 这种方式实现起来特别简单,直接判断一个实力是不是为 nil , 如果是,则新生成;否则返回已有的。但[详细]
-
Golang简单总结
所属栏目:[大数据] 日期:2020-12-16 热度:60
去年写过一段时间的Go,现在要重新捡起来了,对其中的部分语言特性做一个简单的整理。 指针等用法与C类似 但是,内存申请后,不用手动内存释放; 或者os.GC() package的概念 一个Package可以由多个go文件组成; package里面的变量或者函数名称大小写有要求:[详细]
-
Golang 入门Hello World
所属栏目:[大数据] 日期:2020-12-16 热度:122
配置编译环境 下载go 编译器和系统库 https://golang.org/dl/ 或者 https://golangtc.com/download 本例中使用go1.8.3.linux-amd64.tar.gz 配置编译器路径和工作目录 解压go $ cd $HOME $ mkdir package $ cd package $ tar zvxf go1. 8.3 .linux-amd64.tar.[详细]
-
在Go(Golang)中编写Python扩展
所属栏目:[大数据] 日期:2020-12-16 热度:65
我目前使用Cython来链接C和Python,并获得加速比较慢的Python代码。然而,我想使用goroutines实现一个真正慢(和非常可并行化)的代码,但它必须是可调用从python。 (我已经看过 this question) 我(有点)乐于通过C(或Cython)设置数据结构等,如果必要,但避免[详细]
-
如何在Golang中获取JSON响应
所属栏目:[大数据] 日期:2020-12-16 热度:183
我试图从web读取JSON数据,但该代码返回空结果。我不知道我在这里做错了。 package mainimport "os"import "fmt"import "net/http"import "io/ioutil"import "encoding/json"type Tracks struct { Toptracks []Toptracks_info}type Toptracks_info struct {[详细]
-
LeetCode题解(Golang实现)--Longest Palindromic Substring
所属栏目:[大数据] 日期:2020-12-16 热度:52
题目 Given a string s,find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Example: Input : "babad" Output : "bab" Note: "aba" is also a valid answer. Example: Input: "cbbd" Output: "bb" 解题思[详细]
-
使用golang的channel的坑
所属栏目:[大数据] 日期:2020-12-16 热度:83
很多时候我们经过使用有缓冲channel作为通信控制的功能,以至有一些误解和坑出现。 误解一:有缓存channel是顺序的 执行下面代码。 packagemainimport("time""math/rand")funcmain(){cache:=make(chanint,4)gofunc(){fori:=0;i10;i++{cache-i}}()gogetCache([详细]
-
golang 中bufio包的用法
所属栏目:[大数据] 日期:2020-12-16 热度:82
本文转自GOlove博客:http://www.cnblogs.com/golove/p/3282667.html 并在此基础上进行了一些添加修改. bufio 包中的函数和方法 // bufio 包实现了带缓存的 I/O 操作 // 它封装一个 io.Reader 或 io.Writer 对象 // 使其具有缓存和一些文本读写功能 -------[详细]
-
golang 中fmt用法
所属栏目:[大数据] 日期:2020-12-16 热度:175
fmt包实现了格式化的I/O函数,这点类似C语言中的printf和scanf,但是更加简单. 占位符: 通用占位符: %v值的默认格式。当打印 结构体 时,“加号”标记(%+v)会添加字段名%#v 相应 值 的Go语法表示%T相应 值的类型 的Go语法表示%%字面上的百分号,并非值[详细]
-
golang 常规优化 备忘
所属栏目:[大数据] 日期:2020-12-16 热度:155
一、 字符串拼接优化 func Splicestr(str_list []string) string {b := bytes.Buffer{}for _,str := range str_list {b.WriteString(str)}return b.String()} 二、函数调用尽量传递指针,节省内存。不用原值,原值是copy 三、切片Append是把原有的slice添加[详细]
-
Go实战--golang中读写文件的几种方式
所属栏目:[大数据] 日期:2020-12-16 热度:114
生命不止,继续 go go go !!! 读写文件应该是在开发过程中经常遇到的,今天要跟大家一起分享的就是在golang的世界中,如何读写文件。 使用io/ioutil进行读写文件 先回忆下之前的ioutil包介绍: Go语言学习之ioutil包(The way to go) 其中提到了两个方法: fu[详细]
