-
Go实战--golang使用ssl连接MongoDB(mgo)
所属栏目:[大数据] 日期:2020-12-16 热度:148
生命不止,继续 go go go!!! 之前写过关于golang如何使用mongodb的文章: Go实战–golang中使用MongoDB(mgo) 文中主要介绍了Windows下如何安装mongodb,mongodb的简单命令,golang如何操作mongodb,以及使用golang+mongodb创建的微服务。 今天继续深深耕一点[详细]
-
golang 学习笔记(1)数组,切片,字典
所属栏目:[大数据] 日期:2020-12-16 热度:62
// test10 project main.gopackage mainimport ("fmt")const (a int = 1b string = "td"flag bool = falsec = "33")func testArray() {//一维数组var arr [2]intarr[0] = 1arr[1] = 1var arr2 [2]int = [2]int{1,2} ////可以简写 如:var arr2=[2]int{1,2}va[详细]
-
使用 delve 调试 golang 程序
所属栏目:[大数据] 日期:2020-12-16 热度:182
安装 delve 官方的文档已经很全了,参考这里(github)安装。Mac OSX 比较麻烦,需要搞定证书。 断点和变量打印 delve 装好之后就可以直接在命令行使用 dlv 命令了。 查看可用的命令 dlv -h 看帮助信息可知:支持用 dlv attach 的方式调试正在运行的进程,支[详细]
-
golang 代码扩展
所属栏目:[大数据] 日期:2020-12-16 热度:70
在写业务逻辑的时候如何写可扩展的代码? 之后加功能怎么不影响原来的代码? -------------------以下是具体的应用------------------------------ //用户需要符合某些规则才能购买产品 //1.在某个时间段,2.产品订单金额大于一个数 //实现代码如下 //定义结[详细]
-
Go 1.9 新特性
所属栏目:[大数据] 日期:2020-12-16 热度:114
Go1.9于2017年8月24日正式发布,新版本的Go有一些新变化:标准库,运行时,以及新的工具。在这个版本中,Go团队主要的工作都是在运行时的改进以及一些工具链的开发中。这些变化虽然不够令人激动,但是这的确是一个很棒的更新。 Type alias 类型别名 是这个版[详细]
-
hex和base32和base64的区别与联系
所属栏目:[大数据] 日期:2020-12-16 热度:182
基本概念 hex也称为base16,意思是使用16个可见字符来表示一个二进制数组,编码后数据大小将翻倍,因为1个字符需要用2个可见字符来表示。 base32,意思是使用32个可见字符来表示一个二进制数组,编码后数据大小变成原来的8/5,也即5个字符用8个可见字符表示,[详细]
-
golang之zap探索
所属栏目:[大数据] 日期:2020-12-16 热度:63
GO Web 编程:http://www.kancloud.cn/kancloud/web-application-with-golang/44105 我的golang工程:https://github.com/javahongxi/go.web.red.git uber zap test package mainimport ( "go.uber.org/zap" "time" "go.uber.org/zap/zapcore" "net/http" "b[详细]
-
完整的GO工程
所属栏目:[大数据] 日期:2020-12-16 热度:188
www.toutiao.im mygo |-bin |-pkg |-src |-go.web.red |-comm_log comm_log.go |-handler red_handler.go red_parameter_validate.go user_handler.go |-module db_init.go user_module.go |-system_cfg system_cfg_process.go |-system_notify system_notif[详细]
-
golang常见的几种并发模型框架
所属栏目:[大数据] 日期:2020-12-16 热度:198
在golang中,经常使用协程做高并发,本文列举了几种常见并发模型。 package mainimport ("fmt""math/rand""os""runtime""sync""sync/atomic""time")type Scenario struct {Name stringDescription []stringExamples []stringRunExample func()}var s1 = Scen[详细]
-
golang版使用队列秒解数独
所属栏目:[大数据] 日期:2020-12-16 热度:83
golang版使用队列秒解数独 本文找了两个不同版本的算法实现的数独解法,均转译成golang版本。最后以执行时间对比相互之间的效率。 需要填充的数字,以数字0表达。 { 0,2,5,0} , { 0,7,8,3,4, { 5,1,8} , { 2,9, 第一版,参考一个网上找的C++版 原文链接 pack[详细]
-
用golang写的简单端口扫描器
所属栏目:[大数据] 日期:2020-12-16 热度:83
使用命令: Scanner startIp [endIp] port thread 参数说明: startIp 开始IP endIp 结束IP,可选,不输入表示只扫描startIp port 扫描端口,单个端口:3389;多个端口:1433,3389;连续端口:135-3389 thread 最大并发线程数,最高2048 扫描结果保存在同目录下[详细]
-
golang base64
所属栏目:[大数据] 日期:2020-12-16 热度:122
// test12 project main.gopackage mainimport ("bytes""encoding/base64""fmt")func main() {eightBitData := []byte{1,2,3,4,5,6,7,8}bb := bytes.Buffer{}encoder := base64.NewEncoder(base64.StdEncoding,bb)encoder.Write(eightBitData)encoder.Close([详细]
-
golang 文件读取
所属栏目:[大数据] 日期:2020-12-16 热度:134
// test14 project main.gopackage mainimport (//"fmt""io/ioutil""log""os""strings""unicode")func main() {file,err := os.Open("./aa.txt")if err != nil {log.Fatal(err)}defer file.Close()data,_ := ioutil.ReadAll(file)words := strings.FieldsFun[详细]
-
LeetCode题解(Golang实现)--Add Two Numbers
所属栏目:[大数据] 日期:2020-12-16 热度:145
题目 You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list. You may assume[详细]
-
LeetCode题解(Golang实现)--Two Sum
所属栏目:[大数据] 日期:2020-12-16 热度:146
题目 Given an array of integers,return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution,and you may not use the same element twice. Example:Given nums = [[详细]
-
golang 读出缓冲器(缓冲器变小)
所属栏目:[大数据] 日期:2020-12-16 热度:90
Read----func (b *Buffer) Read(p []byte) (n int,err error)给Read方法一个容器p,读完后,p就满了,缓冲器相应的减少了,返回的n为成功读的数量 如,缓冲器是一个装满5升水的杯子,这个杯子有Read方法,给Read方法一个3升的杯子 Read完后,5升杯子里有2升水[详细]
-
golang buffer的使用
所属栏目:[大数据] 日期:2020-12-16 热度:125
// test14 project main.gopackage mainimport ("bytes""fmt"//"os")func main() {/*s := []byte(" world")buf := bytes.NewBufferString("hello")fmt.Println(buf.String()) //buf转整形buf.Write(s) //将s这个slice写到buf的尾部fmt.Println(buf.String())[详细]
-
Go 初学者成长之路
所属栏目:[大数据] 日期:2020-12-16 热度:160
-
golang的Channel
所属栏目:[大数据] 日期:2020-12-16 热度:184
golang的Channel Channel 是 golang 一个非常重要的概念,如果你是刚开始使用 golang 的开发者,你可能还没有真正接触这一概念,本篇我们将分析 golang 的Channel 1. 引入 要讲 Channel 就避不开 Goroutine -- 协程。闲话不说, 直接上个例子 Goroutine demo[详细]
-
golang xml解析不确定是否存在的元素
所属栏目:[大数据] 日期:2020-12-16 热度:186
golang中负责解析函数 func Unmarshal(data []byte,v interface{}) error 只能对struct,slice和string进行解析 golang中负责生成xml函数 func Marshal(v interface{}) ([]byte,error) marshal可以处理指针指向的值,若指针为nil,则不会写入到xml中. 我们可以[详细]
-
LeetCode题解(Golang实现)--Longest Substring Without Repeatin
所属栏目:[大数据] 日期:2020-12-16 热度:168
题目 Given a string,find the length of the longest substring without repeating characters. Examples: Given "abcabcbb" ,the answer is "abc" ,which the length is 3. Given "bbbbb" ,the answer is "b" ,with the length of 1. Given "pwwkew" ,the[详细]
-
Golang学习之常见错误
所属栏目:[大数据] 日期:2020-12-16 热度:76
知行易,知其不行难。首先,在这片文章中指出常见的一些错误,避免你在之后的编程中无所谓的调试工作。 多余的 Imports 命名区分大小写 分号分行 无效的分号 语法和其它问题 多余的 Imports 新建文件,将如下内容拷贝并执行 ErrProg1.go package main import[详细]
-
LeetCode题解(Golang实现)--Median of Two Sorted Arrays
所属栏目:[大数据] 日期:2020-12-16 热度:113
题目 There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)). Example 1: nums1 = [1,3] nums2 = [2] The median is 2.0 Example[详细]
-
Golong学习之包管理的探索与实践
所属栏目:[大数据] 日期:2020-12-16 热度:81
引言:刚学Go没多久,但是很快我就发现了Go的一个特别坑爹的地方 —— 包管理。当然不只是GFW的问题,更多的是有的时候,每个项目使用的包的版本并不是完全一致的,而Go无法做到这一点。虽然Go1.5之后加了vendor的特性,但是我仍然觉得不够。 不知道大家学过[详细]
-
golang解析xml namespace prefix的bug
所属栏目:[大数据] 日期:2020-12-16 热度:193
https://github.com/golang/go/issues/11496 示例使用链接中的示例,我遇到的问题跟这个一样 person xmlns:ns="ns" ns:nameOliver/ns:name ns:phone110/ns:phone/person 解析结构体定义如下 type Person struct { XMLName xml.Name `xml:"ns person"` Name st[详细]
