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

Golang中的error类型

Golang中的error类型 error类型本身就是一个预定义好的接口,里面定义了一个method type error interface { Error() string } 生成一个新的error并返回 一般有以下几种处理方式: package main import ( "errors" "fmt" ) type Customerror struct { infoa string infob string Err error } func (cerr Customerror) Error() string { errorinfo := fmt.Sprintf("infoa : %s , infob : %s , original err info : %s ", cerr.info...阅读全文

博文 2015-06-27 03:00:00 Goden

Go 中 defer 的 5 个坑 - 第一部分

> 通过本节的学习以避免掉入基础的 defer 陷阱中 本文只适合想要进阶学习 Golang 的新手阅读,大牛请绕道。 ## #1 -- defer nil 函数 如果一个延迟函数被赋值为 `nil` , 运行时的 [`panic`](https://golang.org/ref/spec#Handling_panics) 异常会发生在外围函数执行结束后而不是 `defer` 的函数被调用的时候。 例子 ```go func() { var run func() = nil defer run() fmt.Println("runs") } ``` 输出结果 ``` runs ❗️ panic: runtime error: invalid memory address or nil poi...阅读全文

博文 2017-12-26 15:11:12 polaris

Golang中JSON的运用解析

本篇文章翻译自Elliot Chance的"Working With JSON in Go",原文地址“http://elliot.land/working-with-json-in-go” 。欢迎大家访问[我的博客](http://zuozuohao.github.io/),代码可以在[@Zuozuohao](https://github.com/Zuozuohao/GolangGOFPatterns)下载。 在强类型语言中使用JSON是需要一些技巧的。技巧的意思是数据从JSON数据结构到语言支持的数据结构的转换可以灵活的进行,反之亦然。从而避免在操作数组和字典的时候产生类型检查和运行时类型转换的冗余代码。Go在这方面做了很多杰出的工作,正如Go在其他方面做出的努力一样。 Go...阅读全文

Go语言开发(十)、GoLand常用快捷键

Go语言开发(十)、GoLand常用快捷键 一、Goland快捷键设置 GoLand支持各种编辑器的快捷键映射:File->Settings->Keymap 二、GoLand常用快捷键 1、查询快捷键 CTRL+N 查找类 CTRL+SHIFT+N 查找文件 CTRL+SHIFT+ALT+N 查找类中的方法或变量 CTRL+B 快速打开光标处的类或方法 CTRL+ALT+B 找所有的子类 CTRL+SHIFT+B 找变量的类 CTRL+G 定位行 CTRL+F 在当前窗口查找文本 CTRL+SHIFT+F 在指定窗口查找文本 CTRL+R 在 当前窗口替换文本 CTRL+SHIFT+R 在指定窗口替换文本 ALT+SHIFT+C 查找修改的文件 CTRL+E 最近打开的文件 F3 向下查找关...阅读全文

博文 2018-10-07 18:35:14 天山老妖S

Go 中如何有效的比较字符串

当优化软件时字符串比较可能和你想的有些不同。特别是包括拆分跨 goroutines 的循环, 找到一个更快的哈希算法,或者一些听起来更科学的方式。当我们做出这样的修改时,会有一种成就感。然而, 字符串比较通常是信息传递中(in a pipeline)的最大瓶颈。下面的代码段经常被使用,但它是最糟糕的解决方案 (参见下面的 benchmarks),并导致了实际问题。 ```go strings.ToLower(name) == strings.ToLower(othername) ``` 这是一种很直接的写法。把字符串转换成小写,然后在比较。要理解为什么这是一个差的解决方案,你需要知道字符串是如何表示的,以及 `ToLower` 是如何工作的。但是首先,让我们讨论一下字符串比较中主要的使用场景...阅读全文

IntelliJ Idea 14 使用go-lang-idea-plugin 0.9.16-alpha.9

使用Idea 14 开发Go程序的话,需要安装go-lang-idea-plugin,但是Idea提供的插件版本是0.9.15版本这个版本有各种BUG尤其是对Idea 14. 我试了很多方法之后还是无法正常使用go-lang-idea-plugin 0.9.15插件甚是头痛!不过天无绝人之路经过百度一顿搜索之后还是发现了一线希望。 我的本地环境如下: 1.OS: MAC OS YOSEMITE 10.10.1 2. IntelliJ Idea 14 FOR MAC 3.下载go-lang-idea-plugin 0.9.16-alpha.9 https://github.com/go-lang-plugin-org/go-lang-idea-plugin/releases/ 这里有各种版本的...阅读全文

博文 2015-01-28 11:00:01 korykim

liteIDE 快捷键改装

LiteIDE改装 最近一直都在使用liteIDE做开发。公司的项目很紧张,但是在这个周末。还是偷偷的对liteIDE小不爽的地方进行了一些小的改造。 IDE上的run按钮就是运行当前的go文件。 首先我们项目运行只是运行统一或者少数的入口点每次点开固定的文档才能run真的是够了。另外一个主要的原因在于liteIDE没有project管理支持。 而且这个IDE貌似没有出很长时间一般的RCP平台都是有插件开发的。但是这没有插件开发(貌似是有。而且是用python写的)但是,没找到文档(截至 2015年1月19日)也是醉了。 关键入口点还是我在google Code上找到的一个文档。 在配置中的LiteBuild里面有一个gosrc.xml 这个配置文件能修改buttion调用的命令。好吧就只能...阅读全文

博文 2015-03-07 21:32:39 jianyingLi

Golang部份特性的C++对比实现

今天看到一篇文章<>, 我个人是认为这个说法是不成立的,但这里面的一些特性对比引起了我的兴趣。 我想尝试下,Go语言所带的一些东西,在C++11中是如何做的,应当很有意思。所以刷刷刷,就有了下面的东西。 目录: 字符串字面值 变量初始化 lambda 值顺序递增 多值赋值及函数返回多值 map查找 可变参数 回调函数 泛型 数组和切片 字面值 这个东西在两种语言中都有比较好的解决方式.Go语言用" ` "符号,C++使用R(" )"这种方式。可以省掉不少转义符的输入。 Golang path := `c:\a\b\c\GG再也不用烦转义符了` mulln := `"(C++/Golang aa'aaa\Cplusplus/gogogo author"xion...阅读全文

博文 2014-12-16 10:00:15 xcltapestry

搞定淘宝,京东 api调用返回的奇葩json格式

淘宝,京东的api调用返回的json格式跟golang的标准库encoding/json中的格式不兼容。 淘宝有些地方习惯性的把float数据加""变成字符串格式 比如 "delivery_score": "0.0", 文档上的又不一样 "delivery_score": 90, 京东的习惯是,不管是不是字符串类型都都加"",变成字符串类型的。 这样就造成标准库无法识别这些格式, 我把json拷贝出来,在decode.go文件的661行的literalStore函数种修改了:字符串处理方式代码如下: case '"': // string s, ok := unquoteBytes(item) if !ok { if fromQuoted { ...阅读全文

【Go1.4】主要改动

Go 1.4 计划9月份冻结代码,12月份发布,目前官方公布的主要改动有: 1、规范:允许 for range x 这种写法 原因:在标准库中,存在这样的写法 // unicode/utf8/utf8.go func RuneCountInString(s string) (n int) { for _ = range s { n++ } return } 很显然,这里不关心具体的index或value,同时,既然可以省略 value,为什么不能将 index 也省略。因此,加入了这种语法。这样,上面的代码变为: for range s { n++ } 详情: 1. [issue 6...阅读全文

Go 1.4 新特性

Go 1.4 计划9月份冻结代码,12月份发布,目前官方公布的主要改动有: 1、规范:允许 for range x 这种写法 原因:在标准库中,存在这样的写法 // unicode/utf8/utf8.gofunc RuneCountInString(s string) (n int) { for _ = range s { n++ } return} 很显然,这里不关心具体的index或value,同时,既然可以省略 value,为什么不能将 index 也省略。因此,加入了这种语法。这样,上面的代码变为: for range s { n++ } 详情: issue 6102 CL 104680043 2、os 包的 Symlink 函数支持 Windows 系统 一直以来,在 Windo...阅读全文

博文 2014-11-20 11:00:02 平凡之路

Go 程序在 macOS 上的打包功能

这篇文章简单地说明了如何在 macOS 上打包一个 Go 的程序,包括引用或者不引用外部资源。作为一个原生的 Cocoa 程序它是可以下载、安装和运行的。开发过程并不需要 XCode,cgo 或者其他特殊的库文件。 在此文章结尾处,你的 Go 程序将会被打包进一个 `.app` 文件,成为一个拖放安装的只读 DMG 文件。这也适用于其他非 Go 语言的程序。 关于这个端到端的解决方案的主题还有其他很多的指导文章,有的讲的比我想要做的内容多很多,有的又是采用不同的方式,而我想呈现给你的是如何将文件打包的过程。 **要求**:你必须要有一个 macOS。此方法不会在 Windows 或者 Linux 上生效。事实上,它也可能生效,但是你必须要手动或者借助某些疯狂的工具来制作和 macOS 相关的...阅读全文

golang学习-------goland的基本快捷键

快捷键: 移动行 Alt + Shift + up/down 行内(选中)移动(到头尾/删除) Ctrl(Shift) + left/rignt(Home/End/Backspace) 插入新行 Shift + Enter 替换变量、函数名 Shift + F6 配置快捷键: 跳转到函数定义 回退 查找函数使用 File/Settings/Keymap 工具: gofmt/golint File/Settings/Tools/File Watchers golint File/Settings/Tools/External Tools (参考) 文件相关快捷键: CTRL+E,打开最近浏览过的文件。 CTRL+SHIFT+E,打开最近更改的文件。 CTRL+N,可以快速打开struct结构体...阅读全文

博文 2019-05-09 21:31:40 zk3326312

为什么分布式一定要有Redis?

考虑到绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知。所以我斗胆以 Redis 为题材,对 Redis 常见问题做一个总结,希望能够弥补大家的知识盲点。本文围绕以下几点进行阐述:为什么使用Redis使用Redis 有什么缺点单线程的Redis 为什么这么快Redis 的数据类型,以及每种数据类型的使用场景Redis 的过期策略以及内存淘汰机制Redis 和数据库双写一致性问题如何应对缓存穿透和缓存雪崩问题如何解决Redis 的并发竞争 Key 问题为什么使用 Redis我觉得在项目中使用 Redis,主要是从两个角度去考虑:性能和并发。当然,Redis 还具备可以做分布式锁等其他功能,...阅读全文

博文 2018-09-25 17:30:29 Javatiankenglu

热更新配置参数例子(Golang)

在不停止程序的情况下,通过发送USR1或USR2等信号量,触发运行中程序的参数更新处理。当然还可以通过处理如kill等信号量, 让程序正确的处理退出操作。 做了个例子,效果如下。 可以看到通过发出kill -USR1 id号 让对应的程序参数发生了变更。 关于kill的参数值可以通过kill -l列出。 各个终端也提供了很多快捷键来支持特定信息的发送,如最常见的ctrl+c. 但注意,各个终端的快捷键定义可能不一样,而且有些是可以自定义的,这个要注意,在使用前可以用stty -a查出。 附上测试机这两条命令的结果: xcl@xclpc:~$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SI...阅读全文

博文 2015-06-17 20:04:33 xcltapestry

Golang开发工具LiteIDE使用方法整理

安装 参考github的说明 添加GOPATH 创建workspace 创建新文件 运行程序 Liteide中运行程序有两种方式: FR(FileRun)是编译并运行单个文件,可以使用Shift + Alt + R快捷键; BR(BuildAndRun)是编译运行整个项目,可以使用Command + R快捷键。 编译运行单个文件和编译运行整个项目的区别在于: 编译运行整个项目的时候,只允许一个源文件中有main函数; 编译运行单个项目的时候,允许多个源文件包含main函数,运行的时候并不会出现报错。 使用go get/install安装包 一些快捷键 功能 快捷键 跳转到函数声明 command + shift + j 自动格式化代码(保存文件) command + ...阅读全文

博文 2018-07-22 00:30:02 -beyond

golang 结构体

1. 定义 结构体是将另个或者多个任意类型的命名变量组合在一起的聚合数据类型。 2. 成员变量 访问控制机制 如果一个结构体的成员变量名称是首字母大些的,那么这个变量是可导出的(即在其他包可以访问到)。 一个结构体可以同时包含可导出和不可导出的成员变量 type A struct { Hour int //可导出 minute int //不可导出 } 限制 命名结构体类型s不可以定义一个拥有相同结构体类型s的成员变量,也就是一个聚合类型不可以包含它自己。但是s中可以定义一个s的指针类型,即*s。如下: type B struct { value int //Next B //错误 Next *B //正确 } 3. 结构体比较 如果结构体的所有成员变量都可以比较,那么这个结构体是可以比较的...阅读全文

博文 2018-06-30 18:34:44 百味纯净水

Golang学习(11)——path filepath包

Golang学习 - path/filepath 包-----------------------filepath 中的函数会根据不同平台做不同的处理,比如路径分隔符、卷名等。 -----------------------路径分隔符转换:const ( Separator = os.PathSeparator // 路径分隔符(分隔路径元素) ListSeparator = os.PathListSeparator // 路径列表分隔符(分隔多个路径))下面两个函数主要用于将 Windows 路径分隔符转换为 Linux 路径分隔符,处理完后再转换回去,只在 Windows 中有用,在 Linux 中没必要:// 将 path 中平台相关的路径分隔符转换为 '/'ToSlash(path ...阅读全文

博文 2017-02-10 10:15:54 1160636144

Golang 2018.1.2激活及使用技巧

对于做Java开发的同学使用最熟练的开发工具应该当属Eclipse了吧,但是做到后面的话一般都会转用Intellij Idea。至于转用Intellij有什么好处我就不赘述了,简言之就是功能强大,使用便捷,能够大大提升我们的工作效率。 由于目前工作主要用Go语言进行底层开发,所以采用了GoLand开发工具,它跟Idea一样同为JetBrains公司的产品,本篇主要介绍下GoLand.2018.1.2的激活及其常用的使用技巧。 GoLand.2018.1.2激活 1、下载GoLand并安装 https://pan.baidu.com/s/1vPClabBF8K8xvOFHfkrSyQ 2、拷贝JetbrainsCrack.jar至安装目录下的bin 以我的安装目录为例:C:\Program F...阅读全文

博文 2018-08-05 00:30:01 qiangjiyi

『Golang』跨平台TUI(基于文字的用户界面)库Terbox-Go文档翻译

文 package termbox import "github.com/nsf/termbox-go" termbox-go 是一个用于创建跨平台TUI(基于文本的用户界面)的库。 索引 Variables func CellBuffer() []Cell func Clear(fg, bg Attribute) error func Close() func Flush() error func HideCursor() func Init() error func Interrupt() func SetCell(x, y int, ch rune, fg, bg Attribute) func SetCursor(x, y int) func Size() (int, int) fu...阅读全文

博文 2015-02-10 03:00:01 sitemanager

Goread:用Go编写的Google Reader的开源实现

《Goread:用Go编写的Google Reader的开源实现》作者对GR的现有开源实现并不满意,于是自己实现了一个版本——Goread,它具有如下特性:支持导入OPML、移动端支持良好、不需要安装其他支持、和GR有相同的键盘快捷键、简洁快速……详见: http://www.goread.io...阅读全文

请教一个字符编码转换的问题

使用go在windows下编程是,因go是UTF8的编码方式,但在用go读一些网页时,由于有些网页使用GBK的编码方式,这样,在存在转码的问题,找了很久,网上有这个第三方库,但怎么装都不成功,总有一些错,请大虾指点一下。我完全是个新手,谢谢! https://github.com/djimenez/iconv-go https://github.com/qiniu/iconv 以下是安装 https://github.com/qiniu/iconvr 的报错 C:\Users\sh>go get github.com/qiniu/iconv # github.com/qiniu/iconv C:/mingw64/bin/../lib/gcc/x86_64-w...阅读全文

Ubuntu 配置 Go 语言开发环境(Sublime Text 3)

Sublime Text 3安装 gosublime 下载 Sublime Text飞机票:http://www.sublimetext.com/3 安装 gosublime首先,我们需要安装 Sublime Text 的 Package Control 功能,在打开软件后,按下快捷键 Ctrl+`,(`这个符号为英文半角模式下,按下 Tab 键上方、数字键1左边的那个按键),此时会打开一个命令窗口,复制并输入以下内容,最后回车: import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_op...阅读全文

博文 2014-12-30 08:00:01 Kriry

小白入坑同性交友网站github总结

小白入坑同性交友网站github总结 常用词汇及含义 1. watch 表示会持续收到该项目的动态 2. fork 复制某个项目到自己的github仓库 3. star 可以理解为点赞的个数 4. clone 将远程服务器上的源代码下载到本地 5. follow 关注你感兴趣的作者,会收到他们的动态 可以从图中看到我们可以在途中一次找到上面的几个功能的区域,但是没有follow,如果想要关注某个开发者可以直接点击他的头像进去他的主页在头像下方就可以follow某个开发者 in 关键字限制搜索范围 我们可以使用一些搜索的技巧,就像我们使用搜索引擎一样,比如有个叫google hack的东西,很多学习安全的人都回去学google一些高级的搜索语法。在github中也同样有一些高级的搜索的语法。 ...阅读全文

博文 2019-04-13 14:34:42 _AlphaBaby_

终端文本编辑器 Micro-Editor

Micro 是一款简单易用、直观的终端文本编辑器。 主要特性: * 易于使用 * 常用快捷键(ctrl-s, ctrl-c, ctrl-v, ctrl-z...) * 鼠标操作支持友好 * 交叉平台 * 语法高亮显示 ,支持超过 75 种语言 * 支持多种配色方案 * 搜索和替换 * 撤消和重做 * Unicode 支持 * 拷贝和粘贴与系统剪贴板 * 小而简单 * 可定制 效果图: ![Screenshot](http://static.oschina.net/uploads/img/201604/19151846_ANPI.png...阅读全文

Visual Studio Code-GO tasks 设置 (实现在vsc下直接编译输出的功能)

Visual Studio Code -GO 使用过程中发现,如果要编译输出某个文件需要去cmd窗口才行,感觉特别麻烦网上一直没找到解决办法,这几天查看Visual Studio Code文档发现它提供 tasks 功能可以实现 需要了解Visual Studio Code所有功能配置是通过json文件配置的 tasks 工作原理是Visual Studio Code 自动执行你之前配置好的功能。 配置方法 : 第一次使用 打开vsc界面按 快捷键 Ctrl+Shift+B 会弹出 点击配置任务运行程序 点击Others 出现这个就是我们的配置文件,我们只要把我们的go语言的编译命令配上就行了 我的配置文件 tasks.json 更详细配置:http://code.visualstudio....阅读全文

博文 2016-08-06 11:00:01 wangtongxue123456

Goland 常用快捷键整理

Goland 常用快捷键整理 本文主要梳理笔者在使用Goland这款工具的时候,用到的一些比较好用的快捷键。 Switcher Ctrl +TAB 可以召唤 switcher 页面,显示最近打开的文件,然后选择TAB进行上下切换。 switcher presentation assistant 针对某一个函数打开 tip 功能 比如下面的这个例子,我们想查看 log 库中的 Errorf 这个函数的定义以及描述信息,可以使用:fn + F1 image.png err.nn 在golang中有很多时候需要处理类似如下的error逻辑: if err != nil { //handler err logic } goland 为我们集成了这段代码的快捷键:err.nn。 或者使用 err.no...阅读全文

博文 2019-07-24 19:32:40 wolf4j

How Stacks are Handled in Go

文章从C中的线程栈引入问题,讲述Go的处理方式。 第一阶段处理方式:Segmented stacks(分段栈); 现阶段处理方式:Stack copying 想了解 Goroutine 、 Stack 和 GC 内部实现的可以看看这篇文章以及相关文章 [1.How Stacks are Handled in Go](http://blog.cloudflare.com/how-stacks-are-handled-in-go/) [2.Contiguous stacks](https://docs.google.com/document/d/1wAaf1rYoM4S4gtnPh0zOlGzWtrZFQ5suE8qr2sD8uWQ/pub) [3.Conve...阅读全文

golang 读写文件(一)

使用os的方式(会重写文件) package main import ( "fmt" "os" "time" ) func main() { f, err := os.OpenFile("/tmp/logs/test.log", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0777) //linux 路径 /*f, err := os.OpenFile("D:/tmp/logs/test.log", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0777)*/ //windows路径 if err != nil { fmt.Printf("open err%s", err) return } defer f.Close() //资源必须释放,函数...阅读全文

博文 2016-07-29 10:00:01 wtf0215-golang

Jetbrains IDE 使用教程

Jetbrains系列IDE算是我认为做的最好的集成开发工具了,用惯了以后感觉其他IDE都有各种各样的问题。但是Jetbrains系列IDE由于是全英文的,导致很多人很难上手。因此这篇文章就来介绍一下Jetbrains系列的常用设置和功能, 让大家可以快速上手。 简介 Jetbrains系列IDE包括一下几个IDE,分别用于不同的语言,它们的设置大同小异,主要差异在于相关语言和开发包的设置。 Intellij IDEA,最著名的Java IDE,不提了,如果你不了解它,就去了解一下,保证不亏。 PyCharm,用于Python的IDE,在代码补全、提示、格式化方面都做得很好,PyCharm相关类库的支持也很不错。 WebStorm,用上前端开发的IDE,这方面Jetbrains的优势倒不是很...阅读全文

博文 2018-10-26 12:34:39 乐百川

Go 1 介绍 安装

1.介绍 什么是Go Golang。由谷歌创建的一种开源、编译和静态类型的编程语言。加入并发编程,为大数据、微服务、并发而生。 主要目标是使高可用性和可伸缩的web应用程序的开发变得简单易行。 特点:类型安全、内存安全;高并发;高效垃圾回收机制;为多核计算机提供性能提升方案;UTF-8编码支持;快速编译 用户:七牛云存储、知名beego用户、华为企业云、乐视云、京东、Bmob、联众游戏、淘宝等 项目:Docker、Kubernetes、Caddy、CockroachDB 2、安装 在Mac、Windows和Linux三个平台上都支持Golang。 Mac 注:这里只做说明,未操作。 https://golang.org/dl/下载osx安装程序。双击启动安装。按照提示,这应该在/usr/lo...阅读全文

Gogland EAP 4发布

上班第一天,就收到Gogland EAP 4在2月1日的升级提示,接口实现的改进非常明显,注意快捷键是“command+I”(而不是官网说的“ctrl+0”)感觉不错: ![gogland 163.12024.20.png](http://studygolang.qiniudn.com/170203/1430b0baadc377efd72a8d768af2b8b5.png) 除了按照提示升级,还可以直接官网下载: + [Mac OS X](http://download.jetbrains.com/go/gogland-163.12024.20.dmg ) + [Windows](http://download.jetbrains.com/go/gogland-163.12024...阅读全文

mysql,sqlserver数据库单表数据过大的处理方式

经常混迹于技术社区,频繁看到这个题目,今天干脆在自己博客重复一遍解决办法: **针对mysql,sqlserver等关系型数据库单表数据过大的处理方式** **如果不是**[**阿里云**](https://2bit.cn/aliyunWeb?opengps284)**的**[**分布式数据库 DRDS**](https://2bit.cn/drds?opengps284)** 那种多机器集群方案的话: 先考虑表分区 ;然后考虑分表 ;然后考虑分库。** 这个题目是我所经历过的,我做的是GPS应用,早期版本就是选用的关系型数据库Sql Server。当时我选取的方案就是第一种:表分区。 表分区的优势是,如果表结构合理,可以不涉及到程序修改。也就是说,对程序来讲依然是单表读写的效果! 所有轨迹...阅读全文

博文 2019-04-01 13:53:54 jiyulin

go语言vim开发环境快捷键

生成标签 gotags -R 项目 > tags 跳转到变量定义 光标在某变量或函数上,输入gd跳转;ctrl+o或者Ctrl+t返回 tagbar F8是tagbar快捷键,按一下出现tagbar,再按一下隐藏 nerdtree 当你需要浏览目录的时候,就可以使用快捷键F4 来调出浏览窗口了,再按一下隐藏 遍历标签 help tags获取帮助信息 ctrl+]查找特定名称标签 tp正向遍历同名标签 tn反向遍历同名标签 tl跳到最后一个 ts列出所有符合条件的tag 函数补全 Ctrl+x+o buffer窗口切换快捷键 MBEbn前一个窗口 MBEbp后一个窗口 $(function () { $('pre.prettyprint code').each(function () { va...阅读全文

博文 2015-11-16 16:01:31 yuanfang_way

mac unity3d api获取不到问题

unity3d 安装了一个多月了,一直忙,也没时间了解,一个demo写了一个月了,还没搞完,哈哈。今天突然想起学习中遇到一个棘手的问题,api帮助文档获取不到。当时google了一下,是5.0的一个官方bug。unity里api文档查找策略是优先查找本地,本地找不到会访问官方api帮助文档。由于5.0的访问地址进行了调整,本地api文档路径没有变,导致无法获取本地文档,官方的路径也是错误的。下面贴出解决办法,本人是在macbook上操作的,所以windows要调整路径。 #####(一)查看unity帮助文档下载路径 unity>help>Scripting Reference ``` file:///Applications/Unity/Unity.app/Contents/...阅读全文

Goglang编辑器快捷键

//来源:https://www.jetbrains.com/help/go/getting-started-with-gogland.html//注:这些是我按自己的理解从官网翻译来的,英文不够好,有不对的地方还请各位指正~1.输入结束(切换下一行):Ctrl+Shift+Enter2.查看注释:Ctrl+Q.3.跳到定义:Ctrl+B、ctrl+鼠标左键.4.查看当前文件内定义的成员和结构:Ctrl+F125.重命名:Shift+F6. (点击2次可以直接编辑名字,refactor可同步修改其它引用到的地方)6.查找工程内该搜索词的所有引用:Ctrl+Alt+F7(windows下,也可用Alt+F7直接在窗口下查看)(更多信息或操作:Ctrl+Shift+Alt+F7)7.在编辑器输入...阅读全文

博文 2017-09-26 09:40:05 gohl

Go语言-Windows开发环境搭建

由于实验室项目的需要,我今天开始学Go语言。 首先介绍Go语言开发环境的搭建,我的环境是在Windows下搭建,Go语言包推荐.msi安装包,我用的是go1.3.windows-386.msi ,原因很简单,.msi安装会自动配置环境变量,当然也可以用.zip包然后自己配置环境变量。IDE开发环境有两种选择:一是liteIDE,另一个是给eclipse下载goclipse插件。我选择的是liteIDE,下面我介绍下我今天搭建Go开发环境的小小经验总结。。。 1.下载Go语言安装包。 地址:https://code.google.com/p/go/downloads/list 我选择的是go1.3.windows-386.msi ,然后点击安装即可,一直下一步》下一步》(我默认安装在C盘(C:...阅读全文

怎么用notepad++配置go语言开发环境

怎么用notepad++配置go语言开发环境。原文 http://www.oschina.net/question/565065_57085 和 http://studygolang.com/articles/2371 一、准备工作: 1、安装go语言; 2、将go/bin目录加入环境变量; 3、安装notepad++; 二、配置notepad++支持go语言语法高亮 1、下载notepad++的go语言支持包(http://notepad-plus.sourceforge.net/commun/userDefinedLang/go.zip); 2、将文件userDefineLang_Go.xml内容copy至Application Data下Notepad++目录的userDefineLa...阅读全文

博文 2015-07-23 21:00:03 tjzzy

Golang正确的Error处理方式

package main import ( "fmt" "net/http" ) type Result struct { Error error Response *http.Response } func main() { checkStatus := func(done <-chan interface{}, urls ...string) <-chan Result { results := make(chan Result) go func() { defer close(results) for _, url := range urls { resp, err := http.Get(url) result := Result{ Error: err, Response: res...阅读全文

博文 2019-06-14 23:32:45 FredricZhu

多个程序监听同一端口 - socket端口复用技术

对于多个程序绑定同一个端口我们遇到最多的是(Port 80 was already in use),也就是说端口被占用,不能重复绑定,但是操作系统内核支持通过配置socket参数的方式来实现多个进程绑定同一个端口。 简单示例 package main import ( "context" "golang.org/x/sys/windows" "net" "syscall" ) var listenConfig = net.ListenConfig{ Control: MyControl, } func MyControl(network, address string, c syscall.RawConn) error { return c.Control(func(fd uintptr) ...阅读全文

博文 2020-06-06 11:32:42 写个代码容易么

互融云数字货币永续合约交易系统开发

前几年比特币的崛起让数字货币这一概念走进了人们的视野,数字货币这一去中心化的新货币系统也在短短几年时间内凭借其特点席卷全球,而随着数字货币一起崛起的区块链技术也是水涨船高,对于数字货币和区块链可能很多人都是比较懵懂的状态,但是不少具有前瞻性思维的人已经在数字货币上吃到了甜头,这其中比较收人关注的就是数字货币交易系统。互融云推出的永续合约交易系统支持双向交易,多杠杆,多风险控制,风险管控分为警戒线,禁止开仓线,强平线,降低用户风险率;并且平台引入了用户和平台对赌,以及代理商推荐返佣机制,推动了平台用户的发展。互融云数字货币永续合约交易系介绍1)合约模型设计交易方式:市价交易、限价交易合约周期:无定时交割时间,用户可自由选择交割时间隔夜费设置:用户购买每超过24小时则会收取隔夜费合约单位:手/张...阅读全文

博文 2019-08-27 13:32:48 互融云软件

Golang的文件处理方式-常见的读写姿势

Golang的文件处理方式-常见的读写姿势 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 在 Golang 语言中,文件使用指向 os.File 类型的指针来表示的,也叫做文件句柄。注意,标准输入 os.Stdin 和标准输出 os.Stdout ,他们的类型都是 *os.File 哟。在任何计算机设备中,文件是都是必须的对象,而在 Web编程中,文件的操作一直是 Web程序员经常遇到的问题,文件操作在 Web应用中是必须的,非常有用的,我们经常遇到生成文件目录,文件(夹)编辑等操作。 一.文件的读取姿势 1 歌曲:我有一只小毛驴 2 歌手:碧瑶 3 专辑:《瑶谣摇》 4 发行时间:2014-03-18 5 词:付林 6 曲:付林 7 歌词: 8 我有一只小毛驴 9 我从...阅读全文

博文 2017-11-08 06:00:01 yinzhengjie

GO 文档启用

效果如下: 1. 进入 go 的安装路径 找到 godoc.exe 我的路径信息如下图所示: 不难看出 我的 godoc.exe 位于 : C:\Go\bin 右击 "godoc.exe" -> "发送到" -> 桌面快捷方式 (这样就在你的桌面上创建了一个 godoc.exe 的快捷方式) 了 右击 桌面上的 “godoc.exe - 快捷方式” -> 选择 "属性" ->选择 "快捷方式" 选项卡(默认就是这个选项卡) 在 "目标(T)" 处填入 下面的命令 C:\Windows\SysWOW64\cmd.exe /c start "Godoc Server http://localhost:6060" "C:\Go\bin\godoc.exe" -http=localhost:6060...阅读全文

博文 2017-05-09 04:00:22 痞子汤

从数据库导出大量数据的处理方式

需求:将商户订单或交易记录导出到文件中,便于分析文件格式:Type 1: xlsx office 2003: 数据行不能超过 65535行 office 2007 及以后: 数据量可以保持在 1 百万行左右 内存占用严重,效率低下Type 2: csv 效率高,格式简单,对大数字需要进行特殊的处理以防止格式改变 office 软件支持csv插件导出方式:一次性导出 内存占用严重,响应时间长分批导出 程序逻辑脚复杂,效率较高; 可以使用多协程的方式就行并发操作展示方式:直接从页面下载 用户需要等待,并可能长时间得不到响应,导致浏览器取消请求通过生成url以邮件的方式进行发送,并通过短信通知用户 减少用户无意义的一只空等待,利于一步并发操作,同时可正常通知用户结果和错误信息提...阅读全文