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

[Golang]Map的一个绝妙特性

补充说明:一些评论的人对本文中的一些内容感到很困惑,但是我不想让大家感到我言语不清,所以在此澄清一下:是的, 默认情况下,向一个hash表插入的元素是没有固定顺序的。但是因为很多原因,比如有一些帖子就指出了不是所有的map都是hash表(而且有些语言还有有顺序的hash表,比如java的TreeMap), 我还是能够了解为什么很多人(尤其是对Go map实现机制比较了解的人)会假定遍历map元素的顺序和向map插入元素的顺序是相同的。我原来的例子是我自己想出来的,并没有演示出大多数版本的Go关于这方面的特点(尽管我听说对于1.3版本可能是可以工作的)。所以我把代码更新了一下,你可以把代码复制到你的编辑器或者Go Playground来看看效果。Go确实是从随机偏移位置来开始map的元素遍历...阅读全文

博文 2015-03-06 12:00:01 abv123456789

IntelliJ Idea 14 安装 Golang 插件 google-go-lang-idea-plugin 的方法

IDEA 的编辑器都很强悍,所以现在学Go 也想用他啊,无奈这个插件搞了好久,整理了下流程记录下 1. 当然是下载 IDEA 编辑器了 http://www.jetbrains.com/idea/download/ 附上旗舰版注册机地址 http://download.csdn.net/detail/abacaba/8240327 有购买能力的请尽力购买正版哦,这么好的IDE用盗版真心觉得很罪恶啊,无奈包包里的票票太少 2. 下载插件项目源码自行编译jar插件包 https://github.com/go-lang-plugin-org/go-lang-idea-plugin 将下载的zip包解压,然后执行 File -> open 操作打开该项目 打开该项目后,进行 SDK 和 模块配置 ...阅读全文

博文 2015-03-12 05:00:00 zsjangel

求教:最好用顺手的Go语言IDE或者编辑器

因为写PHP和前端的缘故,我是JetBrains的重度依赖用户,曾经IDEA、PHPStorm装了一大堆。 JetBrains也有Go语言的扩展,但总是感觉这货华丽丽的不太实用(对Go来说),毕竟Go是静态编译型语言,不需要那么强大的动态方法、类型提示功能,随便打两个字母,他就提示一大堆,有的没有的都一股脑的推送给你,而可能我需要的只是局部变量的一个提示而已。 求问各路大仙,日常习惯用什么编辑器或IDE可推荐?最好附推荐理由...阅读全文

几款Golang IDE对比

Go语言目前已经在开发者中越发的流行,自然很多人都在寻找合适的IDE来实现代码语法高亮、自动补全以及其他编辑特性。 下面就几种常用的IDE进行对比介绍: 1. Sublime text 这个文本编辑器在开发者中较为普及,应该说sublime并非一个完全成熟的IDE,但是它具备很多语言的扩展插件,比如python、lua等,其中有一个插件GoSublime专门针对go语言,GoSublime提供了语法高亮、自动补全等功能,这些功能使得Sublime Text成为一很实用的Go IDE。 2. IntelliJ IntelliJ IDE由Jetbrains提供,在java开发者中非常流行,其自带的Go插件支持语法高亮显示、代码补全、自动编译以及子库支持。这就使得你可以很方便地将项目拆分成多个包的...阅读全文

博文 2017-08-25 07:31:34 rudyn

Go中运用chan的简单案例

开发环境:windows7 64位、编辑器:sublime text3 简要说明:Go中可以创建有缓冲的chan(比如: c1:=make(chan int,4)就是缓冲区大小为4的chan了 ),也可以创建没有缓冲的chan(比如: c2:=make(chan int)就是没有缓冲的chan)。 代码如下,代码中有注释: package main import ( "fmt" ) func main() { c := make(chan int, 2) //创建带有缓冲的chanel,缓冲大小是2 //这样调用函数,那么f1和f2就是并发执行了 go f1(c) //将参数c传递给f1() go f2(c) //将参数c传递给f2() c1 := <-c c2 := <-c //main函...阅读全文

博文 2015-11-14 09:00:01 汉斯-冯-拉特

打造atom成为golang开发神器

在我在Windows系统上开发的日子里,我使用IDE开发数年之久,例如Visual Basic IDE, Borland Delphi IDE, Visual C++ 和最后的Visual Studio;但当我在大约10年前转到Mac OS X下开发后,我放弃了上述所有的IDE。 我刚进入Mac编程世界的时候使用的是当时表现极好的Textmate编辑器。它是一个开发代码飞快的编辑器,拥有很好的语法高亮,拓展模块以及代码片段(code snippets),让我再次感觉非常高产。经过几年的衰退期,由于它没有继续更新了,很多人转向了Sublime Text和传统的VIM编辑器了。 Atom刚出来的时候我尝试使用了一下,但当时它并没有准备好。而最近几天它正式发布官方1.0版本后我决定再次试用一下,我...阅读全文

博文 2016-02-04 07:00:03 sweetvvck

初读谷歌自家的语言之作------Go语言和Dart语言

Go语言是一个新语言,截至目前为止,第一版正式版还没有发布。Go语言的设计者是Robert Griesemer, Rob Pike和Ken Thompson,当年设计C和Unix,后来的Plan9团队中的人 。Go语言的设计理念很明确,就是将动态类型语言的编程容易度和静态类型语言的安全效率结合起来。深入了解Go语言的发展历史以及完整的目标,请参考Go语言 FAQ。 Go语言有很浓厚的C的遗风,尽量屏蔽C++和Java的影响,比如没有独立的OO体系(并不是说不能OO),一切以struct为中心,没有exceptions(Oh yes!),仍然有指针,等等。但是,Go语言又吸取了很多新语言的精华,并带有自己独特的设计。比如 1. 保留但大幅度简化指针 Go语言保留着C中值和指针的区别,但是对于指...阅读全文

博文 2014-10-25 22:00:00 a4614181

vscode编辑器golang调试

安装vscode 安装vscode-go 插件 进入vscode界面,打开命令面板Ctrl + Shift + P,输入install, 插件特性包括: Completion Lists (using gocode) Signature Help (using godoc) Snippets Quick Info (using godef) Goto Definition (using godef) Find References (using guru) File outline (using go-outline) Workspace symbol search (using go-symbols) Rename (using gorename) Build-on-save (using...阅读全文

博文 2016-10-28 17:00:02 chenjh213

golang开发的 私有云笔记 leanote 开源啦

## 介绍 leanote是一款私有云笔记, 功能参考evernote, 因我不喜欢evernote的编辑器所以自己用tinymce做(写了一些插件), 又加了markdown编辑器, 除编辑器强大之外还有 * 知识共享, 共享给你的好友, 虽然是私有云笔记, 你也可以邀请你的朋友注册 * 知识协作. * 博客, 可以将某一些笔记公开成博客, 知识管理和博客两不误! leanote默认界面是博客, 所以leanote可以相当于博客与知识管理的混合体. ## 链接 官网: http://leanote.com, github: https://github.com/leanote/leanote ## 使用技术 golang是基于revel和mongo...阅读全文

golang 编辑器选择

因为当前我是在ubuntu下用idea来开发erlang so 开发golang也是用这款IDE 首先就是插件!!! File - setting - plugins - 搜索golang - install 创建new project的时候 添加go的sdk,这就是你系统安装的那个go ok,至此ubuntu下得intellij-IDEA 也配置好了,可以愉快的玩耍go了 PS: shift+F10:编译 shift+F9:调试 F2 stop调试 F5 进入函数(退出函数F8) F6 逐步逐句 F8 跳到下一...阅读全文

博文 2017-10-12 06:30:01 huangliang-hb

go语言编辑器:liteide

LiteIDE is a simple, open source, cross-platform Go IDE. LiteIDE是一款开源、跨平台的轻量级Go语言集成开发环境(IDE)。 项目地址:https://github.com/visualfc/liteide 下载地址:http://sourceforge.net/projects/liteide/ 百度云链接:http://pan.baidu.com/s/1mgCgx64 密码:vsip 安装方法:https://github.com/visualfc/liteide/blob/master/liteidex/deploy/welcome/en/install.md Windows 7 下安装使用: 解压百度云下载的文件: 运行b...阅读全文

博文 2015-10-09 11:00:11 osfipin

区块链技术(如何搭建golang语言开发环境)

目前比较大家熟知的有比特币,以太坊eth,etc等等。但是关于比特币是用什么语言实现的,就并不太清楚了,实现比特币开发的语言是谷歌开发的golang语言,今天下面的文章主要讲的就是如何的搭建go语言开发环境;关于开发环境,没有接触过计算的人来说就是你下载美图秀秀,然后在电脑安装,现在都是简易安装,你使用美图秀秀P图,我们是用go语言编程,其实说白了就是下个程序,然后安装。链接一:go语言下载链接 golang.org/dl/谷歌的网页貌似加载了某种识别程序,能够直接识别这是windows系统,而且直接识别是64位系统的。(如果这个链接打不开,也可以在其他地址找到相应的下载) golang语言下载页 点击红色方框部分下载即可,如果你是其他系统的选择相应的文件下来。然后双击开始运行,如果你是新手...阅读全文

golang 创建,读取,写入文件

golang创建文本文件 f,err := os.Create(fileName) defer f.Close() if err !=nil { fmt.Println(err.Error()) } else { _,err=f.Write([]byte("要写入的文本内容")) checkErr(err) } golang读取文本文件 f, err := os.OpenFile(fileName, os.O_RDONLY,0600) defer f.Close() if err !=nil { fmt.Println(err.Error()) } else { contentByte,err=ioutil.ReadAll(f) checkErr(err) fmt.Println(strin...阅读全文

博文 2018-08-13 14:31:34 ILVNMM

如何在pycharm中配置go libraries

本人是个go初学者,由于之前一直用pycharm写python,就想仍然用原来的编辑器学习,下载了go插件之后,它要我选择global library ,projcet library,moddule library,不是很懂这些的区别,每次import一个库进去就提示我unused import,我看了一下所有的package都在go/src文件下,但是全部选择这个文件夹之后也没有用。 不知道该怎么办了,求大神帮帮忙,教教我怎么配置![2EFJ}FE2FRXYGS@S1WWXBZW.png](http://studygolang.qiniudn.com/160214/12061cf9b35573166562979b2c3b746a.png...阅读全文

golang template 例子

golang的template包很好用,做一些复杂的文本格式生成太有帮助了,生成网页也是很不错的,使用起来非常方便. package main import ( "fmt" "os" "text/template" ) type Latlng struct { Lat float32 Lng float32 } func (latlng Latlng) String() string { return fmt.Sprintf("%g/%g", latlng.Lat, latlng.Lng) } func main() { data := []template.FuncMap{} data = append(data, template.FuncMap{"name":"dotcoo1", "u...阅读全文

博文 2014-10-05 19:42:32 DarkWingBoy

golang postgresql数据库驱动

今天周末,即使立冬已过,阳光依然独好,闲着没事做,coding。 一直用bm。。。/pq的SQL驱动,忘记叫啥了,一直没问题,今天看到地址转到了lib/pq,重新获取了驱动,继续使用,有如下一段代码, func DB() (db *sql.DB) { db, err := sql.Open("postgres", "user=postgres password=123456 dbname=test sslmode=verify-full") if err != nil { Fatal("数据库连接失败" + err.Error()) } return db } 编译,运行,不知道搞毛,db一直为空,搞了好久,都没搞明白,偶然间看到了 import( ) 居然为空,我去,我去,好吧,我的编辑器...阅读全文

博文 2016-03-19 15:00:01 u013025612

notepad++支持go语言高亮与go语言插件

一、notepad++安装go语言插件 notepad++是十分流行的文本编辑器,而它拥有强大的功能,比如它可以支持go语言。当然这需要go语言相应的插件。 打开notepad++后,选择插件选项,在插件下选Plugin Manager-->Show Plugin Manager-->在Plugin中选择GOnpp选Install; 二、notepad++支持go语言高亮 1.在Go的安装目录下,找到misc文件夹,打开notepadplus文件夹,编辑userDefineLang.xml文件,将文件中的的注释去掉,注意是去掉注释,不是把它俩去掉。 2.将该目录(misc/notepadplus)下的go.xml复制到notepad++...阅读全文

golang读取文本文件示例

一般文件比较小的话可以将文件全部读入内存中,然后转换成string再按行分割一下 func GetFileContentAsStringLines(filePath string) ([]string, error) { logger.Infof("get file content as lines: %v", filePath) result := []string{} b, err := ioutil.ReadFile(filePath) if err != nil { logger.Errorf("read file: %v error: %v", filePath, err) return result, err } s := string(b) for _, lineStr := ...阅读全文

博文 2016-02-10 02:00:02 xielingyun

Google Calendar(日历)设置农历生日提醒

Generate birthday dates base on lunar birthdays for google calendar import Can be used for notifying birthdays using google calendar根据农历生日生成可用于谷歌日历导入的csv文件, 然后导入谷歌日历就可以每年收到所有家人的生日提醒了 打开http://play.golang.org/p/pjHLGH_HjP http://play.golang.org/p/6pt7A7wi1g 修改const example的内容 点击Run 复制粘贴结果到Excel或文本编辑器 refer: https://code.google.com/p/genlunarbirthday...阅读全文

golang http content_type

1.如果没有指定content_type的话,http包会查看文件的前512 byte,从而推测文件类型。 2.常用类型为: text/html 返回网页格式。text/plain 返回文本格式,也就说不会解析html。application/octet-stream 一般都是二进制格式,可用来下载。(这个有点复杂,不是很清楚) image/***audio/***video/**...阅读全文

博文 2015-06-17 20:17:44 rufidmx

GO语言零基础入门资料整理

GO语言跟它名字一样是门比较装逼的语言,鲜有菜鸟初学者教程,所以没有语言基础的话,理解起来会有点困难。闲来没事整理了一个GO零基础入门资料。 安装与简介 因为国内老被墙,被墙之后请在网上直接下载,下载链接 开发环境编辑器 1.Sublime,支持多标签,自动排版,高亮,简单的填补,简单的SHELL直接运行等。 《Ubuntu下使用Sublime Text 2搭建Go开发环境》 《Sublime Text 2搭建Go开发环境(Windows)》 2.vim + gocode 《Go的Vim的高亮和自动补齐》 3.LiteIDE:只用于GO环境开发的编辑器 4.免费的golang在线开发环境:由实验楼与StudyGolang合作提供的在线实验室,可直接通过浏览器访问进行Go语言的学习与编程。 一...阅读全文

博文 2016-01-15 19:00:00 weiyuefei

Go语言的类IPython 交互式编程界面

Bret Victor 的 Inventing on principle 是我看到过的最令人激动和震撼的演示,没有之一。虽然这位前苹果公司的UI大牛早在2012年就作出的这次演示,但他的影响一直没有减弱,编写程序过程中的任何变化,应该直接的产生反馈,让程序猿能够看到结果,或者说创造者需要对自己的创造的东西有实时的反馈。 之前一直在使用Python,非常喜欢IPythonn Notebook,使用IPython Notenook来快速的完成一些原型非常的方便。现在由于项目的需要,要开始使用Go语言,我就在想,有没有可以使用Go的IPython环境呢?知乎上还有一个相关的帖子,可惜上面并没有给出有效的回答。 我做了些小功课,结果并不完美,这里分享给大家。 官方版 Go Playground 开始...阅读全文

博文 2016-10-29 09:00:04 naughty

golang websocket总结(问题贴)

因为工作的需要,接触了websocket,开始的一些很简单的代码,都不知道该怎样运行起来,所以,总是有一层神秘感,却没有太多的兴趣去研究它。不过,还是免不了要了解一些才不至于对于后续的工作有影响。从塌下心来学习,到最后完成编码测试,不超过一周,遇到了很多问题,万幸,通过自己的思考和师傅们帮忙都解决了。 关于go与websocket编程,github上有很多开源的源码,比如https://github.com/garyburd/go-websocket。我发现,现在网上流传的关于go 的websocket编程基本上都是差不多的类型,当然,websocket也不过如此而已啦。再说说,对如此简单的问题,我碰到的那些麻烦事吧。 1.当服务器启动起来之后,再怎么运行?因为刚开始对websocket的认...阅读全文

博文 2015-06-17 20:17:43 lxy15329

errors.New() 方法返回的是什么?

```golang package errors // New returns an error that formats as the given text. // New 返回一个给定文本格式的错误。 func New(text string) error { return &errorString{text} } // errorString is a trivial implementation of error. // errorString 是 error 的一个琐碎的实现。 type errorString struct { s string } func (e *errorString) Error() string { r...阅读全文

用go语言读写通达信的日线数据

最近行情火爆,想利用go语言导入通达信软件的日线数据,做一些数据分析。初步完成的代码如下: 通达信日K线资料是存在 C:\new_gxzq_v6\Vipdoc\sh\lday(上海股票) C:\new_gxzq_v6\Vipdoc\sz\lday (深圳股票)两个地方,文件是以DAY为扩展名的。文件是以二进制格式存放。 每天的记录为32个字节。 * 以深发展1997年1月2日的数据为例: * 00000000h: 36 B8 30 01 72 06 00 00 86 06 00 00 60 06 00 00 ; * 00000010h: 72 06 00 00 77 69 D4 4C 68 FE 66 00 74 06 00 00 ; * 以下是分解 00000000...阅读全文

golang遇到的win下读取txt字符乱码的问题

import ( "encoding/csv" "os" "github.com/axgle/mahonia" ) // GetCSV 读取csv文件. func GetCSV(csvPath string) [][]string { file, err := os.Open(csvPath) if err != nil { glog.Error("Error when open file in GetCSV():", err) return nil } defer file.Close() decoder := mahonia.NewDecoder("gbk") // 把原来ANSI格式的文本文件里的字符,用gbk进行解码。 // r := csv.NewReader(file) r :=...阅读全文

博文 2016-06-15 09:00:00 xiaouisme

修改Go语言(golang)编译器源代码让它支持UTF-8 BOM

Go语言(golang)第一个正式版Go1发布了,但是这个新兴的编程语言还是非常不完善。这不,我(Liigo)又发现它的编译器竟然不支持编译带BOM的UTF-8编码的.go源文件。这就很奇怪,该语言明明要求源代码文件.go必须是UTF-8编码,但有不允许带UTF-8 BOM。要知道,这个世界上带BOM的文件太多了,很多文本编辑器/代码编辑器/IDE都会默认生成带有BOM的UTF-8文件。如果仅仅因为源代码文件多了BOM,编译器将不能编译这个文件,我觉得它太低能了。 Go语言编译器(gc)不支持带有BOM的UTF-8源文件: Golang's compiler (gc) don't accept the .go files with UTF-8 BOM: E:\liigo\golang\src...阅读全文

博文 2014-10-04 19:25:57 liigo

Go Guru(golang 代码导航工具) 的使用

翻译来源:http://golang.org/s/using-guruGuru 是一个导航go 代码的编辑器集成工具这篇文章将展示了我们怎么使用Guru。在开发golang项目的过程中我们希望我们的编辑器回答我们各种各样的问题。例如: 标识符(名字,对于变量、常量、函数、语句块)在哪里申明? 所有对此申明的引用在哪里? 此表达式的方法变量是什么? 这个包的api 是什么? 哪些具体类型实现此接口? 动态调用可能的调用者是什么? 方法可能的调用这是什么? 在此channel 上发送的值可能在哪里接收?除了它带来了一些在任何ide中没有发现的高级静态分析功能,它还带来了很多重量级ide才能带给你的令人兴奋的效果。GopherCon 2014 talk on the Go Guru (https:...阅读全文

博文 2017-03-10 18:27:35 hehe_Android

开源图数据库 Cayley

Cayley 是 Google 的一个开源图(Graph)数据库,其灵感来自于 Freebase 和 Google 的 Knowledge Graph 背后的图数据库。 特性: * 编程语言 Go * 运行简单,只需 3 到 4 个命令 * RESTful API * or a REPL if you prefer 内建查询编辑器和可视化界面 支持多种查询语言: * Javascript, with a [Gremlin](http://gremlindocs.com/)-inspired* graph object. * (simplified) [MQL](https://developers.google.com/freebase/v1/mql-overv...阅读全文

开源项目 2014-06-25 16:00:00 google

komodo编辑器go语言支持文件

已经有大神写出了komodo ide/edit的go语言支持插件https://github.com/trentm/komodo-go,但是作者并没有将该文件上传到komodo官方插件网站上,并且源码也没有编译,这里给个编译后的版本,方便新手使用。 go_language.xpi 提示: 1,安装gocode 智能提示 2, 安装godef 跳到定义 作者github上有详细的gocode,godef安装指导。 经过测试,在我机器上不能进行语法检查...阅读全文

博文 2014-10-04 19:26:35 mtima

Go 实现的接口在线文档管理系统MinDoc

MinDoc 是一款针对IT团队开发的简单好用的文档管理系统。 MinDoc 的前身是 SmartWiki 文档系统。SmartWiki 是基于 PHP 框架 laravel 开发的一款文档管理系统。因 PHP 的部署对普通用户来说太复杂,所以改用 Golang 开发。可以方便用户部署和实用,同时增加Markdown和HTML两种编辑器。 开发缘起是公司IT部门需要一款简单实用的项目接口文档管理和分享的系统。其功能和界面源于 kancloud 。 可以用来储存日常接口文档,数据库字典,手册说明等文档。内置项目管理,用户管理,权限管理等功能,能够满足大部分中小团队的文档管理需求。 项目管理,可以对项目进行编辑更改,成员添加等。 文档管理,添加和删除文档等。 评论管理,可以管理文档评...阅读全文

[译文] 关于Golang的一个令我深深叹服的特性

自:http://golanghome.com/post/155 [译文] 关于Golang的一个令我深深叹服的特性 原文地址:这里 译文: 翻译By:@jemygraw 补充说明:一些评论的人对本文中的一些内容感到很困惑,但是我不想让大家感到我言语不清,所以在此澄清一下: 是的, 默认情况下,向一个hash表插入的元素是没有固定顺序的。但是因为很多原因,比如有一些帖子就指出了不是所有的map都是hash表(而且有些语言还有有顺序的hash表,比如java的TreeMap), 我还是能够了解为什么很多人(尤其是对Go map实现机制比较了解的人)会假定遍历map元素的顺序和向map插入元素的顺序是相同的。 我原来的例子是我自己想出来的,并没有演示出大多数版本的Go关于这方面的特点(尽管我听说...阅读全文

博文 2014-10-09 16:00:02 leonzhouwei

GO语言零基础入门资料整理

GO语言跟它名字一样是门比较装逼的语言,鲜有菜鸟初学者教程,所以没有语言基础的话,理解起来会有点困难。闲来没事整理了一个GO零基础入门资料。 安装与简介 因为国内老被墙,被墙之后请在网上直接下载,下载链接 开发环境编辑器 1.Sublime,支持多标签,自动排版,高亮,简单的填补,简单的SHELL直接运行等。 《Ubuntu下使用Sublime Text 2搭建Go开发环境》 《Sublime Text 2搭建Go开发环境(Windows)》 2.vim + gocode 《Go的Vim的高亮和自动补齐》 3.LiteIDE:只用于GO环境开发的编辑器 4.免费的golang在线开发环境:由实验楼与StudyGolang合作提供的在线实验室,可直接通过浏览器访问进行Go语言的学习与编程。 一...阅读全文

博文 2015-05-04 17:00:00 敲代码的猴子

Go Girl养成记! Day One—女孩子学Go语言哇

我之所以一意孤行要学go,那是有原因的!就像意外怀孕一样,再怎么意外,那都是有原因的。 我来ThePlant面试时,老板和菲哥都很自豪的声称,ThePlant是工程师文化主导的公司。作为一个初出茅庐的文科生,当时我完全不知道他们在自high什么。工作一段时间之后,姐算是明白了什么是“工程师文化主导的公司”。所谓的工程师文化主导,就是完全由程序员说了算呗! 这里的程序员都是皇阿玛,四阿哥,我顶多就算个嬷嬷吧。我必须好好吐槽一下他们罄竹难书的滔天罪行,呵呵。。。呵呵呵。。。。。。 先说做产品吧,那必须geek!看看Qortex的神一样的编辑器你就知道。最初的版本只支持makdown(当然还支持纯文本!),你叫我一个弱女子怎么用!!!后来我讲道理,摆事实,据理力争,才教会了这群奇葩怎样...阅读全文

mac上安装go语言

我将在mac os x的开发机器上安装go语言的开发环境。 go语言运行包下载地址:http://code.google.com/p/go/downloads/list 这里我选择安装 go1.0.3.darwin-amd64.pkg 在mac上点击安装,运行包自动安装到/usr/local/go中,这样在命令终端就可以运行go命令了 这里,我把go编辑器安装到我的xcode应用程序中,由于我的xcode装的是4.x以上 在/usr/local/go/misc中,可以看到有很多编辑器版本,这里找到xcode目录,里面进入4,有个go4xcode.sh 在终端中输入: sudo sh./go4xcode.sh 也许有的,你会报以下这样的错误: xcrun: Error: could not s...阅读全文

博文 2014-10-04 19:26:31 code-style

go语言实现 tail 查看文本文件末行功能,类似于linux tail -n 100 功能

主要用于Web服务日志最新行查看。 package main import( "fmt" "os" "bytes") const ( defaultBufSize = 4096) func tail( filename string, n int ) (lines []string,err error) { f,e := os.Stat( filename ) if e == nil { size := f.Size() var fi *os.File fi,err = os.Open(filename) if err == nil{ b := make( []byte,defaultBufSize ) sz := int64(defaultBufSize) nn := n bTail :=...阅读全文

博文 2016-03-07 09:00:01 deepdata

用Go语言做产品半年的一些感觉

用Go语言做产品刚好半年,有一些感觉跟大家说道说道。 在使用Go之前,我常常想象,无法使用先进的Debug工具会对工作进度造成多么巨大的影响。甚至在Visual Studio的娇惯下认为,不能调试基本就无法正确的写出代码了。 由于我在Windows平台,能够支持Go语言调试的gdb老是无法工作,所以在这半年中,我一次都没有打过断点,也没有开启过一次单步跟踪。刚开始我心里非常没底,只好老老实实为每一个方法写测试代码,每开发完一个功能之后就运行所有测试。这个方法其实也算是家喻户晓的了,但很奇怪,我在写C#的时候并不会自觉地这样做。只有在一些非常特殊的部分会写部分测试代码。 事后我想了想,懒惰只是其中一个原因,还有一个原因是“编译速度”。众所周知,Go语言的编译速度是非常快的。平时看到这个消息应该...阅读全文

博文 2014-10-06 06:08:32 AllenDang

go.js节点字体设置

TextBlock是用于显示文本信息的对象。 通过设置TexkBlock.text属性来显示文本信息,这也是唯一的一个方法。因为TexkBlock继承自GraphObject,所以一些GraphObject的属性也有可能对文本有影响。 字体和颜色 可以通过TexkBlock.font属性设置文本的字体,该属性的值可以使用CSS来设置。 可以通过TextBlock.stroke属性设置文本字体的颜色,同样可以使用CSS来设置。 因为TexkBlock继承自GraphObject,所以GraphObject.background属性也可以作用于TextBlock,可以通过该属性设置文本背景色。 diagram.add( $(go.Part, "Vertical", $(go.TextBlock,...阅读全文

博文 2017-03-10 10:00:28 孟飞阳

最近发现了一个代码学习工具的好网站 bytelang.com

最近在论坛发现了一个好网站,https://bytelang.com 平时用来逛论坛,写代码交流再方便不过了,每次都要打开保存再运行,给别人看代码还要贴代码,十分麻烦。为了给码友展示一段代码对方还要在粘贴复制运行调试,糟糕透了。昨天@香协理i给我说了这个,简直太好用了。 支持多种语言在线运行查看结果,提供常用的类库包。重要的是像我这种vim重度使用者,别的编辑器按键映射用起来特别别扭,也是支持vim编辑模式的。常用的代码配色,字体大小,字体类型,云端同步编辑器配置。 代码写好,立即就能看到结果,免去了打开ide的麻烦 要把代码发送给别人,也十分方便,获取分享链接对方打开就能查看,talk is cheap show me the code 我的小例子~嘿嘿 ...阅读全文

golang小程序试验(三)

1. golang的log模块 golang的log模块可以很方便的创建自己的日志记录,包括日志文件路径,日志格式等都可以自己定义。先来看一个程序: package main import ( "fmt" "log" "os" ) func main() { logfile, err := os.OpenFile("d:\\test.log", os.O_RDWR|os.O_CREATE, 0) if err != nil { fmt.Printf("%s\r\n", err.Error()) os.Exit(-1) } defer logfile.Close() logger := log.New(logfile, "\r\n", log.Ldate|log.Ltime|log.Llong...阅读全文

博文 2014-10-04 19:27:14 壬癸甲乙

Golang学习笔记:包制作

golang的包跟java as js之类的大不一样,一定要存在GOPATH里面,GOPATH是专门用于存放golang第三方的库,里面有两个文件夹, src:源代码目录 pkg:编译后的第三方包,这个是go install的时候生成的,不能手动去改 这两个文件夹有相同的文件结构,如下: 我们要制作自己的代码库的话,那么就要到src下面新建自己的包,这里的文件的包名应该都是一致的。 例如,我在src下面新建一个叫做hehe的文件夹: 然后在编辑器中打开,建立一个叫做hehe的包,以及随便写一个方法: build之后如果没有问题,执行install操作,然后我们在pkg文件夹下面可以看到生成的包了。 然后我们可以在别的项目中使用这个包了...阅读全文

博文 2015-11-24 03:00:00 adoontheway

GO如何读取和处理超大文本文件呢?

现在有一个将近70G大小的文本文件,每行数据以逗号分割,基本上就是csv的格式,大约不到20亿条数据。 现在有一个难题,就是给这些数据入库MySQL。经过一百多个小时入库完成,但是没法用,因为量太大了,查询一次的时间是无法接受的,所以考虑到要分库或者分表,但是有一个问题就是,如何处理这么大的文本呢?想用GO写一个程序来完成分库分表入库的操作,但是首先要面临的问题就是如何打开这么大的文件...阅读全文

Golang 数组

声明&初始化 数组 数据是一个固定长度的数据类型,用户存储一段具有<<相同类型>>的元素的<<连续快>>。数据存储的类型可以使内置类型。整形 字符串 或某种机构类型 占用内存方式为<<连续分配>>。由于内存连续,CPU能把正在使用的数据缓存更久的时间。并且因为内存连续所以索引很容易计算,可以快速迭代数组中所有的元素。 初始化&声明 声明数组: 指定内部存储的数据类型、需要存储的数据数量(长度)、 //声明一个包含5个整形元素的数组 var array [5] int 数组规则:一旦声明之后元素类型&数组长度不能更改 声明完成之后进行初始化数组会把数组中的元素全部初始化成元素类型所对应的零值。整形对应的零值为0。 数组字面量 数组字面量是一种快速创建并初始化数组的方式。数组字面量允许声明数组里...阅读全文

博文 2018-06-29 16:34:47 我是不是小明

让我们一起Go(二)

上一篇中,我们初次接触了Go这门语言,并配置了环境,在最后还动手编译并运行了第一个Go的程序。虽然对于运行的程序并没有解释里面的语法,因为对于初学者来说,这并不着急,因为我们要循序渐进,先动手实现一些你并不了解的东西之后再慢慢解释,可能比直接讲一大堆语法效果更好,给人的印象更深刻。今天,我们还得继续完善下我们的准备工作,因为,在上篇中我们看到,我们的条件有些艰苦,在编辑器中敲的代码,而且在命令行中编译运行我们的程序。今天,我们得适当滴改善下我们的条件了,没错,今天我们要完善下Go语言的开发环境,如果你一直习惯使用记事本写程序,我当然也不反对,但是为了提高开发效率,一个好的编辑器或者IDE是必不可少的。那么,对于Go语言,现在有哪些开发集成环境呢? 一、支持Go的编辑器和IDE 上面标题似乎表...阅读全文