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

开源消息系统 NSQ

NSQ 是无中心设计、节点自动注册和发现的开源消息系统。可作为内部通讯框架的基础,易于配置和发布。 架构: ![nsqd clients](http://static.oschina.net/uploads/img/201501/27073634_i5Ye.gif) 监控界面: ![nsqadmin](http://static.oschina.net/uploads/img/201501/27073635_MSMt.png) 无单点故障: ![nsq clients](http://static.oschina.net/uploads/img/201501/27073636_C0sa.png) 特点: * 追求简单部署 * 追求高可用、避免单点故障、无中心设计 * ...阅读全文

开源项目 2013-08-12 16:00:00 bitly

Go 控制台 UI 开发包gocui

gocui 是一个 Go 语言用来开发控制台应用的 UI 工具包。 主要特性: * 最小化 API. * 视图 (窗口) 实现接口 io.ReadWriter. * 支持重叠视图 * 可在运行时修改 GUI * 全局或者是视图层级的快捷键绑定 * 支持鼠标操作 * 彩色文本输出 * 可定制化的编辑模式 * 易于构建可重用的 UI 部件,复杂的布局等 ## 示例代码

package main

import (
	"fmt"
	"log"

	"github.com/jroimartin/gocui"
)

func main() {
	g, err := gocui.NewGui(gocui...阅读全文

import "C","C"在哪?

看到一个小程序,开头是import"C" 照着敲了一下,错误提示没有"C"这个package google找到这么一个网址" https://golang.org/cmd/cgo/ "可惜打不开,但是能看出来是有个package是"cmd/cgo" 然后在官方文档上却找不到"cmd"这个package. 却找到了"runtime/cgo",看了下cgo.go,里面有一句*import"C"* 有看了下*/usr/local/go/src,里面没有"C",却有"cmd" 晕...阅读全文

微服务框架的基本学习

微服务架构是一项在云中部署应用和服务的新技术。大部分围绕微服务的争论都集中在容器或其他技术是否能很好的实施微服务,而红帽说API应该是重点。 微服务可以在“自己的程序”中运行,并通过“轻量级设备与HTTP型API进行沟通”。关键在于该服务可以在自己的程序中运行。 通过这一点我们就可以将服务公开与微服务架构(在现有系统中分布一个API)区分开来。在服务公开中,许多服务都可以被内部独立进程所限制。 如果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围。在微服务架构中,只需要在特定的某种服务中增加所需功能,而不影响整体进程的架构。 关于 Service-Center 的介绍 Service-Center(SC)是一个服务注册中心。 服务提供者(provider)可以将自身的实例信息注册到 ...阅读全文

博文 2019-07-01 14:33:51 橙小花一直相信

使用 Go 基于 RabbitMQ 实现的消息中间件wmq

WMQ是用golang基于RabbitMQ实现的消息中间件,在系统架构对解耦现有业务起到至关重要的作用,服务基于HTTP的API方式具有跨语言的特点,接入十分简单.能够很好的解决并发控制,异步任务,以及消息订阅与分发.工作原理架构图如下: ![image](https://static.oschina.net/uploads/space/2017/1017/110028_7bml_3703517.png) 特点: 跨语言,基于HTTP协议. 高性能,测试环境下消息生产速率达到3000个/s,而且性能毫无下降,瓶颈出现在后端RabbitMQ上. 提供了web-ui管理系统,对服务进行管理 跨平台,运行简单,直接运行一个二进制文件. 支持集群部署,避免单点故障. 完全实现了R...阅读全文

Golang 格式输出符号

%d int变量 %x, %o, %b 分别为16进制,8进制,2进制形式的int %f, %g, %e 浮点数: 3.141593 3.141592653589793 3.141593e+00 %t 布尔变量:true 或 false %c rune (Unicode码点),Go语言里特有的Unicode字符类型 %s string %q 带双引号的字符串 "abc" 或 带单引号的 rune 'c' %v 会将任意变量以易读的形式打印出来 %T 打印变量的类型 %% 字符型百分比标志(%符号本身,没有其他操作...阅读全文

博文 2019-05-05 04:31:50 zhengzizhi

【武汉】做贪吃蛇大作战的公司 武汉微派 急招golang服务器开发工程师

不知道微派是哪家公司,那你总知道贪吃蛇大作战、谁是卧底online、微派桌游助手吧,专注在游戏&社交两个领域;营收很好 ,数轮融资,比较低调。目前是B轮融资,巨人网络投资 公司简介: 公司16年的明星产品为贪吃蛇大作站和谁是卧底。贪吃蛇目前3亿多用户,16年77天在app store上霸榜,风靡全国,是现在休闲游戏的代表;谁是卧底也是一款十分经典的社交游戏。 1)贪吃蛇大作站,日活千万,于2016.8月-10月在app store免费榜连续70多天排名第一,是app store有史以来霸榜时间最长的APP。 目前用户3亿多,17年盈利8000W-1亿; 2)谁是卧底是top1的卧底游戏,多次进入app store免费榜单前30强,千万级用户,年收入千万; 因业务发展迅猛...阅读全文

浅谈滚服游戏如果实现一键合服

[原文链接](http://www.bugclosed.com/post/12) : http://www.bugclosed.com/post/12 ## 背景 近几年的游戏行业中,出现了各种各样的滚服游戏,包括页游,手游,H5游戏等等。滚服游戏和大服游戏的区别在于同时游戏人数,大服游戏是有很多用户在一起玩,甚至几十上百万玩家。而滚服游戏则一般会设计游戏在线上限,比如3000,达到上限则新开一组服务器,并引导用户进入新区。 滚服模式是游戏类型,技术架构和急功近利的坑钱策略等因素共同决定的,大服游戏包括绝大部分端游,以及类COC这样类型的游戏。另外,虽然像英雄联盟,王者荣耀这样的游戏也分服架构,但是这个并不是我理解中的“滚服游戏“,首先他们虽然分服,但是每个服的人数上限也是可以高达几十万,他...阅读全文

博文 2018-05-24 16:15:26 pert

golang 导出 csv文件

csv文件可以直接用Excel打开 csv方式导出,可以像导出txt一样,以文本流的方式进行流式处理,不但能导出海量信息,而且流式处理占用内存极低,服务器对浏览器的响应也是非常迅速的。 导出纯数字构成的字符串,在excel中打开csv时,容易被识别成数字,造成误解。一般加上"\t",也有人采用加" ' "单引号 等解决方式。 实现代码 package main import ( "encoding/csv" "fmt" "os" "sort" "time" ) func main() { // 不存在则创建;存在则清空;读写模式; file, err := os.Create("person_list.csv") if err != nil { fmt.Println("open file ...阅读全文

博文 2019-11-01 17:34:01 aside section._1OhGeD

Go实现Websocket消息推送

1.websocket 简介 以往浏览器要获取服务端数据,都是通过发送 HTTP 请求,然后等待服务端回应的。也就是说浏览器端一直是整个请求的发起者,只有它主动,才能获取到数据。而要让浏览器一侧能够获取到服务端的实时数据,就需要不停地向服务端发起请求。虽然大多数情况下并没有获取到实际数据,但这大大增加了网络压力,对于服务端来说压力也直线上升。 image.png 由于 WebSocket 是全双工通信,所以当建立了 WebSocket 连接之后,接下来的通信就类似于传统的 TCP 通信了。客户端和服务端可以相互发送数据,不再有实时性的问题。 image.png image.png 2.开发包的选择 在 Go 官方的 SDK 中,并不包含对 WebSocket 的支持,所以必须使用第三方库。 ...阅读全文

博文 2018-08-19 01:35:07 tuzisir

量子通讯下的数据库是redis吗??

因为量子数据的不可破解行,键值的存储类型可能以后受到欢迎? 世界首条量子通信保密干线京沪干线2016年建成,据央视新闻联播称,由中国科学院院士、中国科学技术大学副校长潘建伟及其率领的团队在2013年开建的世界第一条量子通信保密干线——“京沪干线”将于2016年前后建成。据悉,京沪干线传输距离达上千公里...阅读全文

消息中间件NSQ深入与实践

1. 介绍最近在研究一些消息中间件,常用的MQ如RabbitMQ,ActiveMQ,Kafka等。NSQ是一个基于Go语言的分布式实时消息平台,它基于MIT开源协议发布,由bitly公司开源出来的一款简单易用的消息中间件。官方和第三方还为NSQ开发了众多客户端功能库,如官方提供的基于HTTP的nsqd、Go客户端go-nsq、Python客户端pynsq、基于Node.js的JavaScript客户端nsqjs、异步C客户端libnsq、Java客户端nsq-java以及基于各种语言的众多第三方客户端功能库。 1.1 Features1). DistributedNSQ提供了分布式的,去中心化,且没有单点故障的拓扑结构,稳定的消息传输发布保障,能够具有高容错和HA(高可用)特性。2). Sc...阅读全文

博文 2017-10-09 05:30:46 Aoho's Blog

2017年8月编程语言排行榜:大数据时代,Python、Go依然强劲

2017年8月编程语言排行榜:大数据时代,Python、Go依然强劲 2017-08-06 10:00 来源:大数据技术 大数据 原标题:2017年8月编程语言排行榜:大数据时代,Python、Go依然强劲 程序猿(微信号:imkuqin) 猿妹 整编 TIOBE编程语言社区发布了 2017 年 8 月排行榜,和上个月相比,前五名没有变化,Java、C、C++、C# 和 Python 仍然稳定保持在前 5 的位置。不过比例都有不同程度的下降。 尽管 Java 仍然稳居第一,但最值得注意的是 Java 本月跌破13%,今年接下去是否还是能一如既往保住第一的宝座,我们拭目以待。 Go 语言和 7 月份相比从前 10 回落 第 16 名,但总体趋势还算平稳。自从谷歌宣布了安卓开发全面支持 Kotl...阅读全文

博文 2017-08-08 02:08:20 猿妹

go 链表反

链表操作是数据结构中基本的操作,下面用golang实现一下链表的基本操作,包括增、删、查以及单链表的反转操作。package linkimport ( "fmt" "github.com/pkg/errors")//链表结构type ListNode struct { data int next *ListNode}//初始化链表头,下面的所有操作都是基于带头链表func NewListNode() *ListNode { return &ListNode{next: nil}}//获取链表的长度func (l *ListNode)Length() int { len :=0 for l.next != nil { len++ l = l.next } return len}//插入节点fu...阅读全文

博文 2018-10-15 12:34:41 GoSnail

为物联网而生:高性能时间序列数据库HiTSDB商业化首发!

摘要: 近日,阿里云宣布高性能时间序列数据库 (High-Performance Time Series Database , 简称 HiTSDB) 正式商业化。 近日,阿里云宣布高性能时间序列数据库 (High-Performance Time Series Database , 简称 HiTSDB) 正式商业化。 先跟大家聊一下什么叫时序数据。简单的说,就是时间上分布的一系列数值,关键字是数值,我们一般认为的时序数据是什么时间发生了什么事情,但是在时序数据这个领域里定义的时序数据全都是跟数值有关的。也就是说,如果只是一个带有时间戳的一条数据并不能叫做时序数据。举个例子,比如像我早上8点半上楼吃了个饭这条记录,相当于一个日志,这个本身不构成一个时序数据,但是如果某个餐厅早上8点...阅读全文

TIOBE 发布 3 月编程语言榜单:Go 冲进前十,Delphi 没落

☞200页!分享珍藏很久的Python和Linux学习知识手册☜TIOBE 公布了2020年3月的编程语言排行榜TOP 20的榜单如下:C语言不愧是年度编程语言,以3.03%的年增长率继续大幅领先。年增长率较高的还有Java(2.90%)、C#(2.95%)和Python(1.85%)。整体上来看,排名前10的语言基本都稳定如常。本月冲出了Go 语言这匹黑马,一路挤进前十。去年同期,Go排在第18位,前两个月的榜单中,Go上升到第14位,然后持续爬升,终于在3月进入前十。本月最值得关注的语言比较令人意外:Delphi即将跌出TIOBE指数前20名。这大概是 Delphi最终没落的迹象。自2001年6月TIOBE指数存在以来,Delphi一直位居前20名,在2000年代初,它是最流行的语言和I...阅读全文

博文 2020-03-06 21:33:11 程序员SHZ

PayPal-Go-SDK

PayPal-Go-SDK 是一个非 PayPal 官方的 Go 语言客户端开发包。 示例代码:

import "github.com/logpacker/PayPal-Go-SDK"
// ...
// Create a client instance
c, err := paypalsdk.NewClient("clientID", "secretID", paypalsdk.APIBaseSandBox)
accessToken, err := c.GetAccessToken()阅读全文

如何访问 Google

这个世界充满着奇葩,在特殊的地方和特殊的时间,流畅顺利的打开一个网站也变得如此艰难。列表中有些打不开可能是 DNS污染 的原因,尝试更改DNS地址。以下镜像站分原版和非原版,非原版界面有些改变,搜索结果依然是相同的。 非原版: Glgoo:http://www.glgoo.com/九尾搜索:http://www.jwss.com/谷粉搜搜:http://www.gfsswy.com/谷粉搜搜:http://gufensoso.com/谷粉恰搜:http://www.qiasou.com/蝴蝶:http://www.xiexingwen.com/一哥搜:http://www.egeso.com/谷歌搜:http://www.gugesou.com/谷壳:http://www.googke.me...阅读全文

博文 2015-07-26 12:00:01 troy23

0828求职者--你是否是先行者?

今天逛论坛时认识了一位有趣的上海朋友,他在一家比较知名的区块链公司做技术开发,我们加了微信就开聊了。这哥们问我:现在区块链是不是已经没有几个月前火了啊?我说:其实不是这样的,招聘一直在持续,整个行业也还处于早期,现在说这个还为时过早。他又问道:没有像币价一样,凉凉啊?我说:币价是挺凉的,跌得太厉害了。我们就数字货币又讨论了一番······出于职业病,我又把话题拉回来了,问道:你做区块链多久啦?专职做了半年,接触时间两年左右吧;一开始接触太难理解了,好多思维拐不过来。我忍不住插了一句:主要是去中心化的思想是吧?和以前互联网的那一套东西完全不一样了。他回答说:不光是去中心化思维,还有开发逻辑、什么才是真正的共识、token逻辑等等······顺着这个话题,我了解了一下他现在的工作情况:他对现在的...阅读全文

博文 2018-08-28 22:00:21 kelasong

乐呵乐呵得了 golang入坑系列

开场就有料,今天返回去看了看以前的文章,轻松指数有点下降趋势。一琢磨,这不是我的风格呀。一反思,合着是这段时间,脑子里杂七杂八的杂事有点多,事情一多,就忘了快乐。古话说得好:愁也一天,乐也一天,只要还能过得去,完事不钻牛角尖。这话真应该变成座右铭,最次成口头禅也成。还有句古话是这么说:哭也一天,笑也一天,只要不做亏心事,就是活神仙。两句正好凑合对联,过年贴上,保准比那些个风调雨顺,国泰民安之类的对子好,还实用,您说是不是。 烦自心中来,乐自脑中生。万事都有其两面性,看你怎么想。越想越好,可能坏事能变好。越想越坏,事还没变坏,自己个先把自己个吓死了。所以古人才创造了个塞翁失马焉知非福的寓言小故事,鲁迅先生也抽象出了阿Q这么个丰满的人物。事无定论,运无长势,谁知道下一秒会变成什么样呢。所以嘛,乐...阅读全文

博文 2017-12-05 20:00:02 vikings-blog

半夜了,立完Flag就去睡觉了

危机感 今年32岁,工作八年半,危机感越来越强。 问题 从来没有达到心中那一个合格的程序员标准。 原因 做的都是应用项目,技术没有深度; 做的项目太杂,没有专业的领域知识沉淀; 毅力和眼界不够,很多次浅尝辄止; 想的多,做的少;三天打鱼,两天晒网; 想法 要换一个好的平台:开眼界,精技术,专领域,涨工资; 以技术主题,系统学习技术栈; Flag 每周至少一个主题,有深度的研究学习,避免CRUD; 产出:一篇不少于一千字的”原理理解“文章;一个能看的Demo; 1月~3月(12周)的主题范围:ASP.NET Core技术栈,数据库(MySql), Redis,Kafka / RabbitMQ,Golang,数据结构和算法...阅读全文

博文 2020-01-05 13:32:45 一个编码者

实时消息通信平台Centrifugo

Centrifugo 是一个用 Golang 实现的基于 [Websocket](https://www.oschina.net/p/websocket) 或者 [SockJS](https://www.oschina.net/p/sockjs) 的实时通信平台。 支持数千个同时连接,提供基于频道的出版/订阅模式。PUB/SUB 容易和现有系统集成– 不改变已有后端情况下为系统提供实时通信能力。 HTTP API 和已有后端通信 . API clients for Python, Ruby, PHP, Go, NodeJS. 浏览器可以通过SockJS或者纯粹Websocket协议和centrifugal通信. 提供 iOS和Android平台SDK 采用Redis实现分布式部署....阅读全文

开源项目 2017-02-17 03:56:13 github

浅谈滚服游戏如果实现一键合服

文地址-黑胡子Blog:http://www.bugclosed.com/post/12 背景 近几年的游戏行业中,出现了各种各样的滚服游戏,包括页游,手游,H5游戏等等。滚服游戏和大服游戏的区别在于同时游戏人数,大服游戏是有很多用户在一起玩,甚至几十上百万玩家。而滚服游戏则一般会设计游戏在线上限,比如3000,达到上限则新开一组服务器,并引导用户进入新区。 滚服模式是游戏类型,技术架构和急功近利的坑钱策略等因素共同决定的,大服游戏包括绝大部分端游,以及类COC这样类型的游戏。另外,虽然像英雄联盟,王者荣耀这样的游戏也分服架构,但是这个并不是我理解中的“滚服游戏“,首先他们虽然分服,但是每个服的人数上限也是可以高达几十万,他们并不会发生频繁的合服情况。而滚服游戏更多是通过游戏策略设计,鼓励玩...阅读全文

博文 2018-05-31 18:34:37 石匠

如何在长城后面go get一些库

国内的Go开发已然蔚然成风,但是Go开发者比较痛苦的是,golang.org网站以及其它的一些相关的开发网站被GFW屏蔽了。下载Go开发包海容易些,国内有一些镜像站点,或者通过一些代理也能访问,但是下载一些开发库的时候,这些库可能直接或者间接引用了 `golang.org/x/...`等依赖库, 通过go get命令确没有办法下载下来。 我原先在Comcast,这是一家外企,在国内有vpn可以直接访问这些网站,所以以前没有觉得go get是一个问题,看到大家被GFW弄的焦头烂额的时候也没觉得是一件大事情,现在换到国内的互联网企业,切切实实的感觉到GFW的威力。首先是google.com, golang.org等网站被屏蔽掉了,其次 go get 一些库如golangorg/x/net失败。 ...阅读全文

博文 2017-02-08 12:53:46 smallnest

ByteEdu 每日新闻(2019-02-15)

ByteEdu 每日新闻(2019-02-15) Golang资料集Go最新资料汇总链接更改 http://www.byteedu.com/forum.php?mod=viewthread&tid=25 Go语言微信支付第三方库 http://www.byteedu.com/forum.php?mod=viewthread&tid=81 Unity UGUI 按钮绑定事件的 4 种方式 http://www.byteedu.com/forum.php?mod=viewthread&tid=79&extra= PhysX SDK物理引擎开发包使用及获取c++源码教程 http://www.byteedu.com/forum.php?mod=viewthread&tid=75&extra= CS...阅读全文

博文 2019-02-15 09:34:45 Golang语言社区

hadoop无法访问50070端口的解决办法

Hadoop 50070是hdfs的web管理页面,在搭建Hadoop集群环境时,有些大数据开发技术人员会遇到Hadoop 50070端口打不开的情况,引起该问题的原因很多,想要解决这个问题需要从以下方面进行排查! **1. 排查Namenode是否部署成功** 排查Namenode是否部署成功可以采用命令/etc/init.d/hadoop-0.20-namenode status或jps两种方式之一查看,如Namenode未部署成功,需重新部署Namenode;若已部署成功,请进行第二步排查! **2. 排查datanode是否部署成功** 排查datanode是否部署成功可以采用jps命令进行查看,如果部署未成功,找到问题节点进行解决;若部署成功请进行第三步。 ...阅读全文

[以太坊] Mac install abigen 安装abigen

这篇文章本不该有,但是我安装abigen的经历实在是太艰辛了,还是记录下吧。 1. 正确姿势 先说正确姿势,希望你能顺利。 一般来说,安装abigen命令,只需要三步就可以搞定的,下载,编译,安装。 go get github.com/ethereum/go-ethereum cd $GOPATH/src/github.com/ethereum/go-ethereum/ make make devtools abigen --help 2. 坑一之科学上网 在执行make devtools时,需要下载相关依赖,有golang.org的,也有github的,可怜的我一会开一会关,仍然不行,原因是Makefile里是这么写的 Makefile (看到-u了吧?你一定看到了!) 我不想修改Make...阅读全文

博文 2018-10-23 20:35:01 ytxing

golang 使用 iota

iota是golang语言的常量计数器,只能在常量的表达式中使用。 iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。 使用iota能简化定义,在定义枚举时很有用。 举例如下: 1、iota只能在常量的表达式中使用。 fmt.Println(iota) 编译错误: undefined: iota 2、每次 const 出现时,都会让 iota 初始化为0.【自增长】 const a = iota // a=0const ( b = iota //b=0 c //c=1) 3、自定义类型 自增长常量经常包含一个自定义枚举类型,允许你依靠编译器完成自增设置。 type St...阅读全文

golang实现单链表

package main import ( "sync" "fmt" ) func main() { node := Instance() node.Name = "张三" node1 := &Node{Name: "李四"} node2 := &Node{Name: "赵武"} node3 := &Node{Name: "李刘"} InsertNode(node, node1) InsertNode(node, node2) InsertNode(node, node3) ListNode(node) } type Node struct { Name string NodePtr *Node } var node *Node var once sync.Once func Instanc...阅读全文

博文 2019-07-11 11:32:42 清晨的麦田

绘制与可视化数据的存储库 plot

plot 是绘制与可视化数据的存储库,它提供了一个API,用于在Go中建立和绘制plot。 gonum/plot  被分成几个开发包: * plot包提供简单的界面布局的接口,并绘制它提供了原函数。 * 绘图仪 包提供了一组标准的绘图仪,它使用由plot提供的原函数绘制线, 散点图 ,箱线图,误差线等。 * 你不需要通过使用绘图仪包来利用gonum/plot, 自定义 绘图仪的教程,可在维基中查看。 * plotutil 包含一些套路,是一些常见的plot操作起来很便捷。但因为是新开发包,尚未进行测试。 * VG包提供了的一个通用的矢量图形API,其在 其它矢量图形后端上面, 如自定义EP...阅读全文

快递鸟单号查询自动识别接口,java对接调用示例

应用场景(1)PC端、移动端应用或网站应用集成运单物流信息查询功能时,只需要录入单号即可完成查询,无需用户输入快递公司。(2)电商网站要在快递鸟查询或者订阅运单时,可通过单号识别先行判断物流公司后,再订阅到快递鸟。API参数一、接口描述/说明(1)该接口仅对运单号做出识别,识别可能属于的一家或多家快递公司。(2)接口并不返回物流轨迹,用户可结合即时查询接口和订阅查询接口完成轨迹查询、订阅的动作。(3)接口识别会返回一家或者多家快递公司,返回的数据根据快递鸟大数据分析结果排序(4)若识别失败,快递鸟返回的匹配结果为空。(5)接口支持的消息接收方式为HTTP POST(6)请求地址:快递鸟请求系统级参数说明:​备注:R-必填(Required),O-可选(Optional),C-报文中该参数在一...阅读全文

go中的接口

对于golang的接口,纠结两天了,今天有种茅塞顿开的感觉,有必要写点东西了。 纠结接口,说白了就是搞不透接口,方法,结构体几者之间的关系以及具体的用途。可以简单的从三者的定义说起,接口说白了就是一个方法(method)集,结构体就是一个类,通常保存属性,方法相当于类的函数,不过有两种类型的接受者(对象),一种是值,一种是指针,指针能改变结构体中的属性值。在go中,只要结构体的方法实现(包含)了接口中所有的方法,就可以说这个结构体实现了这个接口。定义讲清楚后可以看看接口到底有什么用了,接下来给出两段代码。 package main import "fmt" type act interface { //定义一个act接口,包含一个write方法 write() } type xiaoming...阅读全文

博文 2016-05-18 02:00:08 Ellon-Daris

【面试题】从链表尾部算起,删除第n个节点

给定一个链表,从链表尾部算起,删除第n个节点,并返回链表头节点。 例如: > 给定列表:1->2->3->4->5,和 n = 2。 > 从尾部算起,删除第2个节点后,链表变为:1->2->3->5。 说明: 1. 给出的 n 总是有效的,比如不会出现负数。 2. 尽可能使用 O(n) 算法实现。 Go 示例定义: ```go /** * 定义一个单链表: * type ListNode struct { * Val int * Next *ListNode * } */ func removeNthFromEnd(head *ListNode, n int) *ListNode { } ...阅读全文

云主机与虚拟主机的区别是什么

普通虚拟主机:虚拟主机,也叫“网站空间”,就是把一台运行在互联网上的物理服务器划分成多个“虚拟”服务器,每个空间都给予相应的FTP权限和Web访问权限,以用于网站发布。 云虚拟主机:是普通虚拟主机的升级版。在云服务器基础上,使用云计算技术,更稳定、安全,可用性更强的虚拟主机。 虚拟主机的特点 1、 价格便宜。虚拟主机是标准的资源共享,性能虽然比不上VPS和服务器,但胜在价格,适合前期建设的网站。 2、 操作简便。虚拟主机的控制面板上有明确的在线解压、绑定域名、301重定向等设置,比较适合新手操作。 3、升级方便。如果在耐思尼克购买虚拟主机,主机升级只要用户在线提交申请,不用对网站进行更改,网站依然能正常运行,不够空间也不用担心。 云虚拟主机的特点 1、 通过...阅读全文

前天开始接触go语言,现在需要大神们的帮助!

主要是现在要用go语言做一个串口通信的开发,用来实现底层的调用。昨天在https://gowalker.org/github.com/dustin/go-rs232#SerialPort 中使用这个开发包自己写了一些串口通信的代码,可以成功发送,就是接收的时候有问题,我用另外一个pc的调试助手发送东西结果自己读回去了、、、 今天要准备第一个可以在板子上跑的go语言的串口程序,但是在进行编译的时候告知这个包好像不能被编译。 错误提示:rs232.go:11:2: C source files not allowed when not using cgo or SWIG:rs232_c.c 有哪个大神可以提供一下这方面的资料、提供一下比较稳定并且可以在arm板子上跑的开发包 不胜感激...阅读全文

golang 实现单链表

package main //链表实现 import ( "fmt" "os" ) //定义错误常量 const ( ERROR = -1000000001 ) //定义元素类型 type Element int64 //定义节点 type LinkNode struct { Data Element //数据域 Nest *LinkNode //指针域,指向下一个节点 } //函数接口 type LinkNoder interface { Add(head *LinkNode, new *LinkNode) //后面添加 Delete(head *LinkNode, index int) //删除指定index位置元素 Insert(head *LinkNode, index int, d...阅读全文

博文 2017-02-10 10:29:25 赵雍

数据结构——Golang实现单链表

载请注明出处:数据结构——Golang实现单链表 Golang 1. 单链表 1.1. 定义 单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始;链表是使用指针进行构造的列表;又称为结点列表,因为链表是由一个个结点组装起来的;其中每个结点都有指针成员变量指向列表中的下一个结点; 列表是由结点构成,head指针指向第一个成为表头结点,而终止于最后一个指向nuLL的指针。 1.2. 优点 单个结点创建非常方便,普通的线性内存通常在创建的时候就需要设定数据的大小 结点的删除非常方便,不需要像线性结构那样移动剩下的数据 结点的访问方便,可以通过循环或者递归的方法访问到任意数据,但是平均的访问效率低于线性表。 2. Golang 实现 2.1. 相关结...阅读全文

博文 2019-01-19 18:34:44 ChainZhang

送你一份Redis书单,以后使用缓存的问题不用再问我啦!

经过了10多年的发展,Java Web从开发框架到社区都已经非常成熟,很多程序员都可以通过使用框架很快速地搭建起一个Java Web应用,特别是近几年SpringBoot大热,干脆连配置都不需要了解了,直接一键式编译部署运行,让Java工程师的入门成本变得越来越低。 但于此同时,互联网公司对于Java的应用场景也在不断地升级换代,从单机部署再到分布式,从SOA再到微服务,Java后端技术栈变得更加庞大,对于工程师的要求也越来越高,特别是对于大公司来说更是如此,Java Web工程师已经不复存在,而取而代之的是Java后端工程师,也就是说,我们这些Java程序员不仅要写好业务代码,还要更多地掌握后端技术,除了数据库之外,像是缓存、消息队列、定时任务、微服务等技术也都是我们需要掌握的内容。 今天...阅读全文

博文 2020-05-08 23:32:48 程序员黄小斜

浏览器中转到(Go)和刷新(Refresh) 的区别

(本文来自于http://lovesun723.javaeye.com/blog/613071 ,本人只用于学习,如果侵犯作者的利益,通知我立刻删除!) 文章分类:Web前端 IE浏览器的刷新按钮和转到按钮有什么不同?我发现在网 络不是很好或网站有问题的情况下,有时候直接按刷新按钮打不开网页,一定要在地址 栏上按回车或按地址栏右侧的转到按钮才可以正常打开。为什么会有这种情况?刷新和转 到有什么不同呢? 这两者是有很大不同。先来说“刷新”,它是在你现有页 面的基础上,检查网页是否有更新的内容。在检查时,会保留之前的一些变量的值,因此有 可能会造成刷新后网页出现错误,或者打不开的情况;“转到”和在地址栏回车,则相当于 你重新输入网页的URL访问,这种情况下,浏览器会尽量使用已经存在于本机中的缓存...阅读全文

博文 2016-03-02 21:00:01 xiaoyu5538

GORM 关联查询

定义了一个 User 和 Company, User 中可以包含多个 Company, 如下: type User struct { ID int `gorm:"TYPE:int(11);NOT NULL;PRIMARY_KEY;INDEX"` Name string `gorm:"TYPE: VARCHAR(255); DEFAULT:'';INDEX"` Companies []Company `gorm:"FOREIGNKEY:UserId;ASSOCIATION_FOREIGNKEY:ID"` CreatedAt time.Time `gorm:"TYPE:DATETIME"` UpdatedAt time.Time `gorm:"TYPE:DATETIME"` DeletedAt ...阅读全文

博文 2019-04-14 14:34:38 jouyouyun

Golang strconv包使用

// atob.go ------------------------------------------------------------ // ParseBool 将字符串转换为布尔值 // 它接受真值:1, t, T, TRUE, true, True // 它接受假值:0, f, F, FALSE, false, False. // 其它任何值都返回一个错误 func ParseBool(str string) (value bool, err error) func main() { fmt.Println(strconv.ParseBool("1")) // true fmt.Println(strconv.ParseBool("t")) // true fmt.Println...阅读全文

GO语言时间格式化,奇葩得不想说了

过去用java,python,php,等语言,将一个时间格式化成一个字符串都是用“yyy-MM-dd hh:mm:ss”之类的方法,golang 的格式化方法真令我大开眼界 先看官方文档说明: func (Time) Format func (t Time) Format(layout string) string Format returns a textual representation of the time value formatted according to layout, which defines the format by showing how the reference time, defined to be Mon Jan 2 15:04:05 -0700 MST...阅读全文

博文 2015-06-17 20:15:54 juxuny