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

阿里财报:云计算年度营收133亿,季度营收连续12个季度翻番

摘要: 北京时间5月4日晚间,阿里巴巴集团公布2018财年第四季度和全年财报,该季度内(2018年1月至3月底)阿里云营收43.85亿元,同比增长103%;2018财年(2017年4月至2018年3月底)营收133.9亿元,同比增长101%。 北京时间5月4日晚间,阿里巴巴集团公布2018财年第四季度和全年财报,该季度内(2018年1月至3月底)阿里云营收43.85亿元,同比增长103%;2018财年(2017年4月至2018年3月底)营收133.9亿元,同比增长101%。 过去三年,阿里云每个季度以三位数左右的增速在不断扩大自己的市场领先优势。截止2017年上半年,研究机构IDC通过销售、市场等渠道得到的调研数据显示,阿里云在中国云计算IaaS市场份额为47.6%,几乎为市场所...阅读全文

微信小程序解码工具

项目地址 https://github.com/sjatsh/unw... & 个人博客 https://sjatsh.com 起因 前段时间想学习微信小程序开发但是又没有什么深厚前端功底,看到很多很好玩的小程序想要做一个类似的学习学习,所以想着借鉴一下现有的小程序。但是苦于没有源码,抓包也没有办法获取源码。 google后知道可以用安卓模拟器安装微信然后安装小程序,然后在文件系统中找到小程序对应的wxapkg文件,拿到压缩包解压后就可以得到小程序源码。 但是压缩包是2进制文件,找了一遍后发现一个现有现有的开源项目可以直接解压小程序压缩包。 废话不多说,直接开干~ 获取小程序压缩包文件一、下载网易MuMu安卓模拟器 下载地址 http://mumu.163.com/ 二、安装微信和RE文件管...阅读全文

博文 2019-01-08 01:34:44 打瞌睡滴花花

为开发者赋能,阿里云大学人才交流市场全新上线!

据了解,阿里云大学为了打造DT时代下全链路的人才培养生态,再次重磅发力,即打造从学、到练、到赛、到考之后,阿里云大学人才交流市场重磅上线,全力打造创新型人才培养的全方位闭环生态链。 (阿里云大学:edu.aliyun.com) 据悉,数日之前,阿里云大学上线业界首创的全在线、轻量级、场景化Apsara Clouder认证(https://edu.aliyun.com/certification),引起了千人参与考试认证的热潮。这次秉持“让天下没有难做的生意”的初心,阿里云大学又联合阿里巴巴旗下专业招聘平台淘工作,打造阿里云大学全新人才培养生态,打造从学、到练、到赛、到考、到就业的全方位闭环生态链,致力于为数以百万计的中小企业输出优质的上云人才,在“云生态”行业标签,汇...阅读全文

最全BAT算法面试100题:阿里、百度、腾讯、京东、美团、今日头条

第一:复杂度估算和排序算法(上) 1) 时间复杂度和空间复杂度 2)认识对数器 3)冒泡排序 4)选择排序 5)插入排序 6)如何分析递归过程的时间复杂度 7)归并排序 8)小和问题 第二:复杂度估算和排序算法(下) 1)荷兰国旗问题 2)随机快速排序 3)堆结构与堆排序 4)认识排序算法的稳定性 5)认识比较器 6)桶排序 7)计数排序 8)基数排序 9)数组排序后的最大差值问题 10)排序算法在工程中的应用 第三:章栈、队列、链表、数组和矩阵结构 1)栈结构 2)队列结构 3)链表结构 4)数组结构 5)矩阵结构 6)二分搜索的扩展 第四:二叉树结构 1)二叉树结构 2)二叉树的递归与非递归遍历 3)打印二叉树 4)判断搜索二叉树 5)判断完全二叉树 6)判断平衡二叉树 7)折纸问题 8...阅读全文

博文 2019-04-26 19:55:29 javaYZ

golang中的http.FileServer通常要跟http.StripPrefix结合使用

用go写一个文件服务器很简单: http.handle(“/”, http.FileServer(http.Dir(“doc”)) http.ListenAndServe(":8888”, nil) 打来localhost:8888,就能看到doc目录下的所有文件。 但如果,你想用localhost:8888/doc来显示进入文件目录,则需要 http.Handle(“/doc", http.StripPrefix(“/doc", http.FileServer(http.Dir(“doc")))) http.StripPrefix用于过滤request,参数里的handler的request过滤掉特定的前序,只有这样,才能正确显示文件目录...阅读全文

博文 2015-06-17 20:18:48 u011649436

Go 语言机制之数据和语法的设计哲学(Design Philosophy On Data And Semantics)

## 前序(Prelude) 本系列文章总共四篇,主要帮助大家理解 Go 语言中一些语法结构和其背后的设计原则,包括指针、栈、堆、逃逸分析和值或者指针传递。这是最后一篇,重点介绍在代码中使用值和指针的数据和语义的设计哲学。 以下是本系列文章的索引: 1. [Go 语言机制之栈与指针](https://studygolang.com/articles/12443) 2. [Go 语言机制之逃逸分析](https://studygolang.com/articles/12444) 3. [Go 语言机制之内存剖析](https://studygolang.com/articles/12445) 4. [Go 语言机制之数据和语法的设计哲学](https://studygolang.com/art...阅读全文

博文 2018-03-04 08:48:15 gogeof

golang实现树遍历

package main import ( "container/list" "fmt" "strings" ) type MyStack struct { List *list.List } type MyQueue struct { List *list.List } type BinaryTree struct { Value interface{} Left *BinaryTree Right *BinaryTree } type Tree struct { Value interface{} Children []*Tree } func (stack *MyStack) pop() interface{} { if elem := stack.List.Back(); elem ...阅读全文

博文 2017-12-13 02:00:00 show668

微信小程序解码工具

项目地址起因 前段时间想学习微信小程序开发但是又没有什么深厚前端功底,看到很多很好玩的小程序想要做一个类似的学习学习,所以想着借鉴一下现有的小程序。但是苦于没有源码,抓包也没有办法获取源码。 google后知道可以用安卓模拟器安装微信然后安装小程序,然后在文件系统中找到小程序对应的wxapkg文件,拿到压缩包解压后就可以得到小程序源码。 但是压缩包是2进制文件,找了一遍后发现一个现有现有的开源项目可以直接解压小程序压缩包。废话不多说,直接开干~使用源码安装安装golang没有用过golang的人可以直接去官网下载go get github.com/sjatsh/unwxapkgcd ~/go/src/github.com/sjatsh/unwxapkg使用可执行文件下载地址使用unwxapk...阅读全文

博文 2019-01-04 01:34:44 打瞌睡滴花花

《Docker助力应用交付“十倍速”》 9月24日时速云技术沙龙第七期【大连站】

![](http://77fkk5.com1.z0.glb.clouddn.com/upload/image/40debc00701e11e681f0525400020562.jpg) 大连,美丽的北国海港,著名的航母摇篮 港口每年的集装箱吞吐量近千万。 回溯历史,集中箱的发明,带来了航运生产力“十倍速”的改变。 Docker,目前最火的云计算技术 诞生之初,就被喻为“用代码编写的集装箱” 正在被应用交付领域越来越多的企业接受、应用。 9月24日,技术领先的企业级容器云计算服务商----时速云联合众蓝影云,将携Docker技术走进大连,举行《Docker助力应用交付“十倍速“》为主题的技术沙龙。届时,技术大咖们将与您一起分享Docker技术那些事儿,现场将会有精美茶...阅读全文

年中总结与目标OKR

文: 年中总结与目标OKR thumbnail: /thumbnails/xingbake.jpg date: 2018-07-16 21:39:04 [TOC] 昨天看到了狗哥的年中总结, 虽然开头和结尾比较丧, 但还是比较详细的列出了半年回顾和计划 也让我感受到了像狗哥这样的年轻人有目标真好~ 自己没制定过目标和计划, 发现有点难或者好奇心没啦又断了 所以, 结合前段时间看到的OKR, 这次来学习做一次年中总结, 内容尽可能细致且可度量, 以便年终进行检验 一. OKR 先来简单说下OKR是什么 OKR: Objectives and Key Results的简称,中文名是目标与关键成果法 从名称上看到它包含两个要素 目标(Objectives) 关键结果(Key Results) 它由...阅读全文

博文 2019-05-22 17:34:54 i蝸居年華_谢谢谢

golang之树的遍历

go语言在区块链编程中有巨大的优势,其中fabric和ethereum都是基于go语言编写的。为了能更好的学习区块链的底层技术,先将go的基础打好。 本篇文章使用golang来实现树的遍历 树的定义 package tree type Node struct { Val int Left *Node Right *Node } 深度优先遍历 深度优先遍历需要优先使用栈 栈的定义 type Stack struct { list *list.List } func NewStack() *Stack { list := list.New() return &Stack{list} } func (stack *Stack) Push(value interface{}) { stack.lis...阅读全文

博文 2018-11-18 14:34:42 菟潞寺沙弥

golang.org/x/text使用

前言 go语言也已经使用一段时间了,但是关于golang的相关常用三方库仍然使用的不到位,正好前段时间接触了golang.org/x/text的库,这个包能强大的处理国际化和本地化,对应用的全球化时能帮上大忙。 包概览 golang.org/x/text 包含多层子包,提供了很多的工具和函数,并且用fmt风格的API来格式化字符串。 cases 提供通用的方法 // code src := []string{ "hello world!", "i with dot", "'n ijsberg", "here comes O'Brian", } for _, c := range []cases.Caser{ cases.Lower(language.Und), cases.Upper(lan...阅读全文

博文 2019-06-10 17:02:54 m20082008m

1个人1个电脑1周可以处理10000+的订单吗?

摘要: 码栈,以提升企业提效为目标,帮助用户连接不同的系统和服务,实现工作流程自动化。运用码栈能够显著将客服、运营、财务、法务、设计师以及更多领域的客户重复工作流高速化,提升岗位效率,进而提升企业效率。 码栈为电商、金融、游戏、政府、教育、财税、及传统大型企业等人力密集型企业提供一个高效引擎。 码栈,以提升企业提效为目标,帮助用户连接不同的系统和服务,实现工作流程自动化。运用码栈能够显著将客服、运营、财务、法务、设计师以及更多领域的客户重复工作流高速化,提升岗位效率,进而提升企业效率。 码栈为电商、金融、游戏、政府、教育、财税、及传统大型企业等人力密集型企业提供一个高效引擎。在三个典型应用场景:数据采集、批量处理和系统协同中,码栈的效率是传统人工效率的数倍。 以电商运营为例,每...阅读全文

教你轻松做一个响应式网站

在响应式还未流行的时候,很多企业与互联网公司都觉得响应式网站应该是大企业才用的上,大企业才有资金去投入。对于这个问题小编只能说,没错放在前段时间做一个响应式网站的确需要高投入,而且还很耗时间。但是放在今天来讲,小编可以告诉你,以现在的互联网技术,做一个响应式网站快的只需要几个小时,需要细致完成的也就几天时间。这样的发展速度,让众人所惊叹! 在响应式还未流行的时候,很多企业与互联网公司都觉得响应式网站应该是大企业才用的上,大企业才有资金去投入。对于这个问题小编只能说,没错放在前段时间做一个响应式网站的确需要高投入,而且还很耗时间。但是放在今天来讲,小编可以告诉你,以现在的互联网技术,做一个响应式网站快的只需要几个小时,需要细致完成的也就几天时间。这样的发展速度,让众人所惊叹! 现在...阅读全文

【厉害了Word哥】Workshop第一期 | 容器技术如何落地?

![alt 文本](http://blog.tenxcloud.com/wp-content/uploads/2016/10/lADOfNAlE80B9M0DhA_900_500-1.jpg) ## 为什么关注容器落地? 2015年,容器元年,Docker技术破冰而出, 2016年,无数企业探索容器落地, 趟过坑,踩过雷,技术愈发成熟, **观望者**,对其经验、教训无限关注, **探索者**,亟需更系统全面的实践指导, **实践者**,希望结合自身需求与厂商进行深度对话, 基于以上考虑,时速云第一期工作坊主题确立! ## 讲什么? 【 企业如何实践微服务架构? 】 【 基于Docker的PaaS平台在企业中的落地实践 】...阅读全文

Golang多线程文件传输

Golang多线程文件传输 ------------------------------ 前段时间抽空用Golang简单实现了一下多线程文件传输。 采用的方式为将待传输的文件拆分成多部分由多个协程同时传输。服务端在全部数据接收完成后将文件拼接还原为原文件。 服务端编译后直接执行,客户端至少需要带一个参数:待发送文件名 。另外更多参数中,第二参数为指定服务端最终生成的文件名。第三个参数为单次发送数据包的大小(单位:Byte),最大不超过18K。第四个参数为待发送文件拆分的个数,其对应发送的协程数量。 好了,下面是全部代...阅读全文

博文 2015-06-17 20:02:30 LvanNeo

golang99道练习题之01

**1.题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?** **2.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 ** **3.程序源代码:** ```go package main import "fmt" func main() { for i := 1; i < 5; i++ { for j := 1; j < 5; j++ { for k := 1; k < 5; k++ { if (i != k) && (i != j) && (j != k) { fmt.Println("这个数是:", i, j, k) } } } } } ``...阅读全文

博文 2018-11-20 11:38:16 hdking

golang二叉树前序,中序,后序非递归遍历算法

package main import ( "container/list" "fmt" ) // Binary Tree type BinaryTree struct { Data interface{} Left *BinaryTree Right *BinaryTree } // Constructor func NewBinaryTree(data interface{}) *BinaryTree { return &BinaryTree{Data: data} } // 先序遍历-非递归 func (bt *BinaryTree) PreOrderNoRecursion() []interface{} { t := bt stack := list.New() res := mak...阅读全文

博文 2018-07-02 21:35:46 暮色伊人

golang实现二叉搜索树

关于什么是二叉搜索树,不清楚的同学可以去看我写的这个数据结构与算法的网站 数据结构 首先我们定义需要的数据结构。注意,TreeNode的左右节点都是*TreeNode type的,而树只有一个Root数据域,为*TreeNode type type TreeNode struct { Value int Left *TreeNode Right *TreeNode } type BinarySearchTree struct { Root *TreeNode } Insert 向二叉搜索树中插入元素,首先要找到插入的位置,然后再插入。这里注意我们的实现方法为给TreeNode和BinarySearchTree这两个type添加方法。需要注意给type添加方法的方式,同时还要注意,如果你要改变...阅读全文

博文 2017-03-05 11:47:47 bigtom

后端工程师入手了树莓派 pi 3B和SIM 900

po 主是苦逼码农一枚,软件工程师,做服务端方向,主要写 nodejs & golang 偶尔写点 python,所以这是一篇刚刚拥有第一个开发板的小白写的小白文,以上是背景 前段时间为了改善生活买了一块树莓派3,装了 debian 8 jessie。 1. 换清华的源: sudo vi /etc/apt/sources.list 注释掉其他的源插入这两个: deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ jessie main non-free contrib deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ jessie main non-fr...阅读全文

博文 2017-06-15 19:06:38 HughFace

golang99道练习题之13

**1.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。** **例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。** **2.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。** **3.程序源代码:** ```go package main import "fmt" func main() { for i := 1; i < 10; i++ { for j := 0; j < 10; j++ { for k := 0; k < 10; k++ { sum := i*100 + j*10 + k if sum == i*i*i+j*j*j+k*k*k { fmt.Println(sum) ...阅读全文

博文 2018-11-20 17:53:28 hdking

go语言浅析二叉树

Hello,各位小伙伴大家好,我是小栈君,今天给大家带来的分享是关于关于二叉树相关的知识点,并用go语言实现一个二叉树和对二叉树进行遍历。 我们主要针对二叉树的概念,go实战实现二叉树的前序遍历、中序遍历、后序遍历。 二叉树概念 在计算机科学领域内,二叉树代表的是具有两个节点的树形结构,通常子树被称作为“左子树”,右边的被称作为“右子树”。二叉树通常的应用于实现二叉查找树和二叉堆。 例如上述图片中,我们就制定了一个二叉树,其中d、e、f称作a树的叶子节点。 [叶子结点是离散数学中的概念。一棵树当中没有子结点(即度为0)的结点称为叶子结点,简称“叶子”。 叶子是指出度为0的结点,又称为终端结点] b和c 作为树a的孩子结点,b和a因为作为一个根a的孩子,所以他们的称呼为兄弟结点。其实总结一点就...阅读全文

博文 2019-12-22 17:37:28 IT干货栈

[云联万维-春季热招岗位-Go语言工程师/售前/售后/产品/销售] 欢迎自荐、推荐和转发,成功推荐者即可获得 1000 元京东卡!赶快行动吧~~我们只做最好用的企业级全栈多云管理平台,加入我们、一起创造精彩!

[公司名称] 北京云联万维技术有限公司 [公司介绍] 美团云核心成员离职创业项目,团队实战经验丰富,经历了美团网从千团大战到本地生活服务第一平台的整个过程。在当今云计算普及以及混合云 /多云趋势基本确定的背景下,团队专注多云管理,期待帮助客户打造企业级全栈多云管理平台,为客户提供从资源管理到应用交付等全栈解决方案。团队组建之初,即获得真格基金徐小平老师的投资。被徐小平老师评价为:近期见到的最强的创业团队! 我们秉承:"让 IT,更简单"的使命,期待打造企业级全栈多云管理平台! 团队靠谱 /学习成长 /有激情 /有梦想 /有期权 /福利好! 加入我们,一起创造精彩! www.yunionyun.com [工作地点] 北京市朝阳区酒仙桥路甲 10 号星...阅读全文

LeetCode105. 从前序与中序遍历序列构造二叉树

描述 根据一棵树的前序遍历与中序遍历构造二叉树 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3 / \ 9 20 / \ 15 7 思路 前序遍历中,第一个节点即根节点 在中序遍历中,找出第一个节点的位置,根节点前面的 L 个数据,即根节点左子树的中序遍历数据,前序遍历中根节点后面的 L 个数据即左子树的前序遍历 右子树同上 简而言之,确定了根节点,确定了左子树和右子树的数据,递归对左子树和右子树进行重建 代码实现 // 根据一棵树的前序遍历与中序遍历构造二叉树 // TreeNode Definition for a binary tree no...阅读全文

博文 2018-12-15 12:34:50 tomorrowwu

go版本Excel导入脚本

一直挺想用 go 的,但是没想到能干啥,前段时间正好有个任务导入 Excel 到后台数据库,用 Python 的话我可能分分钟就写好了,但是作死的我就想试下 go,因为 go 可以打包成可执行程序包,然后就可以不依赖 go 的环境。 直接编码 使用 flag 获取终端参数解析 path := flag.String("path", "", "excel 路径") url := flag.String("url", "**", "服务器地址") flag.Parse() 这里定义了 path 路径和服务器地址 url,唯一需要注意的是,这里变量返回都是指针。flag 有个好处,他的参数都是形如(defaultValue,$description),所以在执行 -h 的时候,都会返回 key 以...阅读全文

博文 2018-12-16 23:34:43 追风骚年

子串查找算法-Rabin-Karp

好久没学习东西了, 前段时间有点过于放纵, 天天打游戏, 现在需要写点东西来减轻罪恶感. 对Rabin-Karp早有耳闻, 它可以在Golang官方库中找到, 当初粗略看了下觉得有点复杂就没仔细研究, 现在就看看它吧. 什么是Rabin-Karp算法 Rabin-Karp算法用来解决一个"简单"的问题: 在一个字符串中定位子串的位置. 同样的算法还有: KMP, BM. 关于他两可以再看看这位老哥写的文章:白话分析字符串匹配算法——KMP算法 乍一看这个问题一个for循环就能搞定, 但Rabin-Karp这个神奇的算法能让问题解决得更高效 有趣. 在了解Rabin-Karp之前,我们需要了解for暴力算法的缺点。 暴力算法的缺点 首先从头部开始匹配,如果没匹配到则向后移动一步再次匹配,如此循...阅读全文

博文 2018-11-13 00:34:39 bysir

Go 并发编程基础(一)goroutine,channel

package main import ( "fmt" ) func sum(values []int, resultChan chan int) { sum := 0 for _, value := range values { sum += value } resultChan <- sum //将运算结果写到channel中 } func main() { values := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} //定义并初始化了一个大小为10的数字数组 resultChan := make(chan int, 2) //定义大小为2的channel go sum(values[:len(values)/2], resultChan) //开启协程...阅读全文

博文 2016-03-19 16:00:04 u013542440

GoLang练习实例100之002----打印互不相同且重复数字的三位数

package main import ( "fmt" ) //题目:有四个数字:1、2、3、4,能组成多个互不相同且无重复数字的三位数?各是多少? func main() { num_S := []int{1, 2, 3, 4, 5} var num_Count int for i := range(num_S){ for y := range(num_S){ for z := range(num_S){ if (i!=z) && (i!=y) && (y!=z){ fmt.Println(i,y,z) num_Count ++ } } } } fmt.Println("总数为:", num_Count) ...阅读全文

博文 2018-03-20 00:33:04 不折腾难受斯基

MaxCompute复杂数据分布的查询优化实践

**摘要**: 2017年中国大数据技术大会于12月7-9日在北京新云南皇冠假日酒店隆重举行, 大会就大数据时代社会各行业的智能化进程和行业实践展开深入讨论。 在12月8日的“大数据分析与生态系统”分论坛上,来自阿里巴巴计算平台事业部的高级技术专家少杰,以“MaxCompute 复杂数据分布的查询优化实践”为题,为现场来宾分享了阿里云MaxCompute最新技术与实践的洞察与经验。 2017年中国大数据技术大会于12月7-9日在北京新云南皇冠假日酒店隆重举行, 大会就大数据时代社会各行业的智能化进程和行业实践展开深入讨论。 在12月8日的“大数据分析与生态系统”分论坛上,来自阿里巴巴计算平台事业部的高级技术专家少杰,以“MaxCompute 复杂数据分布的查询优化实践”为题,为现...阅读全文

Golang学习笔记:体验Go的并发编程

当初之所以学习Go语言,就是因为一句话:Golang天生支持并发。Java中的并发是一个比较复杂的系统,前段时间面试的时候,对于我这种CRUD Boy来说,理解并能应付并发方面的问题着实有些难度。各种概念背了一遍又一遍,current包下的东西来回练习,理解各种并发系统的设计理念,才能勉强应付一些比较水的面试。 经过几天的学习,终于跟着Go指南,学到了并发一节。在这一节中,遇到的第一个练习是判断等价二叉树。 初始代码如下 package main import "golang.org/x/tour/tree" // Walk 步进 tree t 将所有的值从 tree 发送到 channel ch。 func Walk(t *tree.Tree, ch chan int) // Same 检...阅读全文

博文 2018-01-07 17:33:04 Coderztf

Hyperledger-Fabric源码分析(开篇)

一直想将前段时间研究fabric1.0源码的一些心得体会分享出来,一是在写的过程中自己可以加深理解,二是有些地方代码是看过了,但是总感觉看得不到位,没到火候。 看过1.0的同学应该知道,shim与cc与peer之间千丝万缕的关系,剪不断理还乱。写了这么多年的Java,确实觉得Golang代码别扭,而且goroutine+channel的组合简直是阅读者大杀器。但是Golang的好处显而易见,如果fabric用Java实现,一倍的代码量都不止,而且性能差很多。扯远了,总之习惯成自然。 鉴于fabric已经出到1.4了,更新不可谓不快,改动不可谓不大,再来讲解1.0的实现估计大家都没什么兴趣,我就基于新版做一个系列吧,希望能坚持下来。请大家监督...阅读全文

博文 2019-03-05 22:34:51 Pillar_Zhong

小口啃 Golang - 返回的 nil 不为 nil 的疑惑

前段时间在写代码的时候,遇到一个奇怪的问题,即返回的 nil 值,不为 nil。 导致这个问题的原因是对 Go 中的 nil 理解不全面导致的,直接上测试代码如下: package main import ( "fmt" ) // 定义我们自己的 Error 类型 type NilErr struct { Code int Msg string } // 实现 error 接口的 Error 方法 func (e *NilErr) Error() string { return fmt.Sprintf("Code:%d, Msg:%s", e.Code, e.Msg) } func returnNil() *NilErr { return nil } func main() { fmt.Pr...阅读全文

博文 2017-08-05 04:05:09 笑然一生

剑指offer算法---Go实现

简介 最近在准备面试,发现一个不错的网站推荐给大家。也希望通过Go实现来把里面 剑指offer算法 的题做一下。如果觉得帮到了你,希望能为我点个赞呀。如果发现代码有错,非常希望您能够在留言中指出。https://github.com/CyC2018/CS...文章只贴自己写的代码,题目的所有内容和解题思路都在上面的网站里。一些比较简单无聊的题,就跳过。。 未完待续。 归并排序,快排,堆排序 这一节不出现在剑指offer里边,但是经常面试问到。1.归并排序 package main import ( "math/rand" "time" ) // 产生n个随机数 func CreateList(list []int, n int) []int { s1 := rand.NewSource(ti...阅读全文

博文 2019-08-13 21:02:40 l1nkkk

docker学习

相关链接 Golang的docker尝试https://studygolang.com/articles/11427 基础命令 docker ps -a 列出所有容器 docker stop 停止指定名称的容器 docker rm 删除指定名称的容器 docker image ls 列出所有镜像 docker image rm 删除指定ID的镜像,imageID可以只写前三位 docker container ls -a 列出终止状态的容器 docker build -t . 编译镜像,注意最后的点符号是指定当前目录 docker启动mysql // 拉取 docker pull mysql //启动 mysql 容器( 参数 -...阅读全文

博文 2019-05-22 19:34:39 十六月

西天取经尚需要一个团队,App开发和ios证书签名亦是如此

“将一切不可能变成可能!”这正是Internet赋予这个时代的定义。在移动Internet的展开进程中,app成就了手机在智能设备中的霸主地位,手机也同样成就了app无可限制的交易价格!现现今,app已become人们日常生活中再寻常不过的一种工具,在享受app带来便利服务的同时,可能大伙并不会关注开发一款app到底有多难,但对于许多移动创业公司,怎地样让事情能快速落地,迈出产品到运营的第一步,却become许多创业者头疼的问题。那么,到底需要具备什么样的本事本领开发一款app呐?伏笔君通过本文为你逐一发表!售前工程师在大部分软体服务公司,每个项目都配有售前工程师的岗位,在立项时,需要具备一份完整的开发要求文档,初期筹划的越充分,后续问题出现的几率就越少。【具备妙技】对不一样产品的功能、技术...阅读全文

博文 2019-07-06 15:32:39 借一程山水伴你年少

订单队列架构思想

前序一般的订单流程思考瓶颈点订单队列第一种订单队列流程图:第二种订单队列流程图:总结实现队列的选择解答第二种队列的 Go 版本例子代码前序本文所要分享的思路就是电商应用中常用的订单队列。一般的订单流程电商应用中,简单直观的用户从下单到付款,最终完成整个流程的步骤可以用下图表示: 其中,订单信息持久化,就是存储数据到数据库中。而最终客户端完成支付后的更新订单状态的操作是由第三方支付平台进行回调设置好的回调链接 NotifyUrl,来进行的。补全订单状态的更新流程,如下图表示: 思考瓶颈点服务端的直接瓶颈点,首先要考虑 TPS。去除细分点,我们主要看订单信息持久化瓶颈点。在高并发业务场景中,例如 秒杀、优惠价抢购等。短时间内的下单请求数会很多,如果订单信息持久化 部分,不做优化,而是直接对数据库...阅读全文

博文 2019-08-02 11:03:12 Ace_Wang

二叉树 前/中/后/层 四种方式遍历递归实现

二叉树的遍历,无论是在leetcode刷题或者面试过程中,都是十分常见,重要性无需赘述。本文将采用Golang语言来实现前/中/后/层四种遍历方式。 二叉树定义 // 二叉树节点定义 type TreeNode struct { Val int Left *TreeNode // 左子树 Right *TreeNode // 右子树 } 二叉树样例 一. 前序遍历 遍历顺序   中 -> 左 -> 右。 代码实现 // 前序遍历 func PreOrderTraversal(tree *TreeNode) { if tree == nil { return } fmt.Printf(" %d -> ", tree.Val) PreOrderTraversal(tree.Left) PreOr...阅读全文

博文 2020-01-04 19:32:51 缘木求鱼的鱼

Golang学习笔记:体验函数闭包

最近闲来无事,即将毕业,把自己卖给了杭州的招银网络,正好利用这段时间可以好好学习以下Go语言。 从高中开始接触编程,当时还是用的Pascal语言,主要是为了参加信息竞赛,后来上了大学,大二开始学习Java便开始了我的Java旅程。到现在,已经用Java用了快六年了,前段时间找工作深深体会到了Java的美妙之处——需求量大。哈哈,相比实验室中用C/C++的小伙伴们,真的是太幸福了!!! 好基友本科毕业后就去了聚美优品,两年前就和我提到过Golang,说是很有前途,当时还没什么感觉,也就没有当回事。直到前段时间,听说B站和一些公司,后台系统用Golang重构了,加上区块链的出现,感觉未来即使Golang不是最屌的,也会是主流。 说实话,重新学习一门语言,说简单也简单,说不简单也不简单。最近主要就...阅读全文

博文 2018-01-05 11:33:05 Coderztf

go实现“水仙花数”

题目: 打印出100-999中所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字 立方和等于该数本身。例如:153 是一个“水仙花数”,因为 153=1 的三次 方+5 的三次方+3 的三次方 我使用的是Go Modules 管理依赖方式引入下面的add包就可以了运行了 package add import ( "fmt" "strconv" ) func Sxhs() { var str string fmt.Scanf("%s", &str) var result = 0 fmt.Printf("%d \n", result) for i := 0; i < len(str); i++ { num := int(str[i] - '0') //字符串本身是ascii码 res...阅读全文

博文 2020-04-10 21:32:41 小兵

猜数字游戏初学版

package mainimport( "math/rand" "fmt" "time")var (n , n1 , n2 , s , s1 , s2 , x , y int)//////////////////////三位数的数字游戏 ////1.随时间生成一个三位数的数字 ////2.将判断的数字每一位取出来 ////3.封装一个方法 //// //////////////////////func test01(){ //电脑随时间生成了一个随机数 fmt.Println("《猜数字游戏》") rand.Seed(time.Now().UnixNano()) x = rand.Intn(1000) // fmt.Println("x = " , x) n = x / 100 // fmt...阅读全文

博文 2019-05-07 23:06:26 OverTime

golang 二维切片排序

package main import ( "fmt" "sort" ) //type value []string type value [][]int func (p value) Len() int { return len(p) } // 二维切片排序 func (p value) Less(i, j int) bool { for k := 0; k < len(p[i]); k++ { if len(p[j]) == 0 || p[j] == nil { // 长度为空时 return true } fmt.Println(p, i, j, k) if p[i][k] > p[j][k] { // < 则正序 return true } else if p[i][k] == p[...阅读全文

博文 2020-03-16 17:32:55 Flag丶

二叉树的基本运算2

这一篇是接上一篇文章二叉树的基本运算 二叉树的遍历 二叉树遍历分为三种:前序、中序、后序: 前序遍历:根结点 -> 左子树 -> 右子树 中序遍历:左子树 -> 根结点 -> 右子树 后序遍历:左子树 -> 右子树 -> 根结点 另外还有一种层次遍历,即每一层都从左向右遍历。譬如,对于下面的二叉树 前序遍历:abdefgc中序遍历:debgfac后序遍历:edgfbca层次遍历:abcdfeg 实现方法 因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来说要难一点 中序遍历 go实现 // 中序遍历,用栈实现 f...阅读全文

博文 2019-02-13 14:34:44 Salamander

【Golang 基础】Go 语言 面向对象

Go 语言的面向对象   Go 语言的面向对象非常简单,仅支持封装,不支持继承和多态。继承和多态是在接口中实现的。   因此 Go 语言中没有 class,而是通过 struct(结构体) 对相同类型或不同类型的数据进行封装。 通过 type struct {} 格式定义结构体; type User struct { Name string Age int IsActive bool } 定义后的结构体就可以作为类型使用; hvkcoder := User{Name: "hvkcoder", Age: 18, IsActive: true} fmt.Println(hvkcoder) // {hvkcoder 18 true} 或 hvkcoder := User{...阅读全文

博文 2019-03-30 02:34:40 爱写作的程序猿

Let’s Encrypt证书吊销事故的思考

title: "Let’s Encrypt证书吊销事故的思考" date: 2020-03-28T00:11:54+08:00 description: "如何保障代码的安全性?" featured_image: "" categories: "其它" tags: [] 前段时间一则新闻引爆了程序界:《一行Golang代码引发的血案——全网最详细分析2020年3月Let’s Encrypt证书吊销事故》。 这个事故的原因上文已经说得很清楚了,这里摘抄一下: 那么这个软件到底出现了什么问题才会导致如此滑稽的故障?我翻看着Let's Encrypt最近的commit,找到了一个Pull Request:#4690。看完这个Pull Request后,我马上意识到问题所在:Golang最经典的错误...阅读全文

博文 2020-04-20 21:32:41 jmjoy

leetcode_889

Golang: 思路:因为前序和后序是没有办法构建一个唯一的二叉树序列的,所以需要在某些方面自定规则,比如[1,2],[2,1],这里将这种序列定义为一个左子树 代码如下: func constructFromPrePost(pre []int, post []int) *TreeNode { node:=&TreeNode{Val: pre[0]} //长度至少要大于1才能构建子树 if len(pre)>1{ i:=0 for i阅读全文

博文 2020-04-11 13:32:42 淳属虚构

leetcode_143

Golang: 思路:链表,这题最简单的思路是,链表存进数组,然后一次性解决。再复杂一点就是,链表从中间分开,后半部分反转,然后再和前半部分依照特定规律合并。这里给简单思路,个人觉得这题没必要追求空间复杂度。 代码如下: func reorderList(head *ListNode) { node:=head if node==nil||node.Next==nil||node.Next.Next==nil{ return } var arr []*ListNode arr=append(arr, head) length:=1 for node.Next!=nil{ length++ node=node.Next arr=append(arr, node) } for i:=0;i阅读全文

博文 2020-03-11 13:33:07 淳属虚构