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

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

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

博文 2015-06-11 03:00:06 ShaYeBlog

goroutine之间通信问题

golang中的协程之间通信除了channel之外,对于main中派生的多个goroutine的通信问题,不知道高手是如何解决的。比如A通过goroutine并发了N个B协程,那么A和其中的某个B协程之间的通信如何实现? 多个B协程函数都是相同的,A和某个B如何标识和通信的问题,我一时想不出方法,求高手指点,谢...阅读全文

关于GO与FFmpeg结合的问题!

各位好,我想使用Go语言结合FFmpeg将视频格式进行转换,我不太想用命令的方式去搞。 请问有大家都是怎么做的?是可以结合ffmpeg编译好的模块实现吗? 我用命令行也发现有问题,如下: cmd := exec.Command("ffmpeg","-y","-i ", spath , "-vcodec copy","-acodec copy" ,dpath) 结果不行,一直在报错误,请问命令行大家如何使用的...阅读全文

在个人博客实现「小课」系统

程序员这个行业,是一个终身学习的行业,经常会有新技术出现。我是一个很爱学习的人,喜欢尝鲜。每次想去学习一项新技术的时候,总是苦于找不到合适的入门教程。于是有了想自己写个小课系统的想法:希望能通过写一系列的文章,组织成一门小课,帮助想学习某项技术的同学快速入门。 有了这个想法之后,我开始准备搭建小课平台,一开始想的是做一个前后端分离的网站,后端用 Go 写 API,前端用 vue 写页面。 使用 vue + ElementUI 搭建出来的第一个版本长这样: 写完第一个版本之后,仔细想了一下,如果要写好这个小课系统的话,我还得做好几件事: 写 API ,前后端进行数据交互 写 Markdown 编辑器,在线录入课程 做服务端渲染,做 SEO 优化 一想到这里,头开始有点大,第一个对外发布的小课系...阅读全文

博文 2020-04-16 10:36:55 艾逗笔

go语言很给力呀

最近因为项目需要,所以写了一个id生成器,于是当时想为了省事就用go语言来写得了,于是花了大概半天的时间写了300多行码,完成之后开始测性能。一开始是在自己的虚拟机上测的,客户端是用php的,结果发现php在单进程环境下只能跑30个请求,这个结果其实也不意外,因为这根本就不是服务器的问题,而是php本身的性能不行,所以压力压不上去。于是用pcntl_fork出多个进程来,每个进程跑一些请求,最后在主进程里计算总的时间,结果发现1s最多处理1000-2000之间,并且随着并发数增多,性能下降很快。这个结果让人比较意外,原以为go语言的性能会好很多。 后来仔细想了想,突然想起来有个参数可以设置runtime.MAXPROC,用于设置可以使用的cpu数目。于是在设置了这个参数之后又开始测试,一开始...阅读全文

博文 2014-10-04 19:26:39 javatgo

01背包问题(完全背包,部分背包)golang实现

很经典的动态规划问题,具体思路这里就不列出了,网上太多资料了。想要详细理解的话可以去看背包九讲 这里分别列出,01背包,完全背包,部分背包 golang实现。 01背包 给定 n 种物品和一个容量为 C 的背包,物品 i 的重量是 wi,其价值为 vi 。 应该如何选择装入背包的物品,使得装入背包中的物品的总价值最大? 从左往右,从上往下填表(example: 5表示重量,12表示价值) 1.png 代码and注释 dp[i][j] = max(dp[i-1][j], nums[i][1]+dp[i-1][j-nums[i][0]]) 仔细想清楚这一行 backpack.png 完全背包 给定 n 种物品和一个容量为 C 的背包,物品 i 的重量是 wi,其价值为 vi,每个物品都有无限多件...阅读全文

博文 2017-10-24 02:04:49 Tibbersshao

日记

放假第一天,手机上显示的是“06:47”,工作日叫不醒,周末起太早???然后还是磨蹭到9点起床,锅里是温的白粥,我说这是不是有点清淡,弟说你可以加点盐。我服。最后还是跑到隔壁镇的乐园面包买了个提子包,犹豫着要不要再买支维他奶,额还是隔壁美宜家买吧,你懂的。村口的东江大道真的有毒,每次过期或者中秋都会堵车,并不是车流大还是车祸而是道路施工,每年都是那个位置那个坑。今天还是不太想出门,在家继续学golang,看了一小时居然在沙发上睡着了,额头和背脊都是闷热的汗,屁股潮湿内裤紧贴着,赶紧开个空调回床上睡,这种迷迷糊糊慵懒的下午好想念了...阅读全文

博文 2018-09-22 23:34:43 徐E东

写了8年的代码,做过的项目都下线了,程序员的意义在哪里!

01起因前几天项目交付上线,所以闲下来了。忽然想起来,自己业余接的活,有些项目已经不再运营了,所以想清理下域名解析。上去阿里云一看,总的大概有 15 个解析。这 15 个解析就意味着 15 个项目。这些项目都是我去谈的需求、写的文档、前后端开发、部署上线维护,整个项目几乎都是我一人完成的。想当初,很用心的去开发每一个项目;如今,这些项目只能一个个关闭。这真的使我很悲观:我花了那么多的时间精力,去做的事情,竟然如此的毫无意义。​02我想静静回首这 8 年,做过的大小项目,应该是有个大几十个吧(除了在公司的业务,也接了不少私活)。而有时候,在与人交谈时,当对方提出想看我开发过的一些线上的项目的时候,我竟会常常语塞,除了我近期正在做的项目,其余的,我想不起来,还有什么还在线上。即使近期正在做的项目...阅读全文

博文 2018-12-04 17:17:44 Javaspring12

Golang 生成Excel文件(.xlsx)

1、导入xlsx直接生成Excel: go get github.com/tealeg/xlsx 如果在get包时长时间没有反应,那可以直接从我的百度云下载 xlsx 包,之后直接放在你项目的 github.com 文件夹下就可以了 https://pan.baidu.com/s/1T-RsQ6lyP2bw330tD1svgQ package main import "github.com/tealeg/xlsx" func main() { file := xlsx.NewFile() sheet,err := file.AddSheet("sheet1") if err != nil { panic(err) } row := sheet.AddRow() row.SetHeightCM...阅读全文

博文 2019-08-09 20:33:00 LLL_小浪

【golang】wait,who am I

345唉,这是int类型吗?看着是~它有可能是345.0,可以简写为345.(没有看错,只是把0给简没有了)func main() { s := 345 var t int32 = 345 fmt.Println(s == t)}会出现什么呢?对了,会出现s == t (mismatched types int and int32),因为s := 345被golang编译器缺省赋予了int类型。func main() { s := 345 var t float = 345 fmt.Println(s == t)}会出现什么呢?想都别想了,因为golang的浮点只有float32和float64,哈哈哈哈哈哈~func main() { s := 345.0 var t float32 = ...阅读全文

博文 2017-02-10 11:05:21 qingkechina

go语言很给力呀

最近因为项目需要,所以写了一个id生成器,于是当时想为了省事就用go语言来写得了,于是花了大概半天的时间写了300多行码,完成之后开始测性能。一开始是在自己的虚拟机上测的,客户端是用php的,结果发现php在单进程环境下只能跑30个请求,这个结果其实也不意外,因为这根本就不是服务器的问题,而是php本身的性能不行,所以压力压不上去。于是用pcntl_fork出多个进程来,每个进程跑一些请求,最后在主进程里计算总的时间,结果发现1s最多处理1000-2000之间,并且随着并发数增多,性能下降很快。这个结果让人比较意外,原以为go语言的性能会好很多。 后来仔细想了想,突然想起来有个参数可以设置runtime.MAXPROC,用于设置可以使用的cpu数目。于是在设置了这个参数之后又开始测试,一开始...阅读全文

博文 2015-06-17 23:01:27 HopingWhite

关于gorouitne

按照a tour of Go 中 Crawl 例程提示,改写了 Crawl 函数,但是只能找出一条 url,想不出原因,请教大家,谢谢。 ``` package main import ( "fmt" "sync" ) type Fetcher interface { // Fetch returns the body of URL and // a slice of URLs found on that page. Fetch(url string) (body string, urls []string, err error) } // Crawl uses fetcher to recursively craw...阅读全文

从那些我5年前就想做的事谈起

说来,估计每个人都有一堆想做却没做的事,甚至不仔细想都不记得自己当初立过哪些flag。 因为太多的flag最终都是不了了之,人本能的逃避,也不愿再提起了。 我突然再提起这个话题,到不是我立个flag改过自新了,只是最近翻读了下笑来老师的《自觉是门手艺》,对书中一段话颇有感触。 哪些是你5年前就想做但现在依然没开始做的事? 以5年为界,回想起来,我想要做却一直没做的事着实不少,如果只看编程这方面: 远的有 学python 专研算法/加强下数学 近的有 学linux 学vuejs 不一一列举,但自己这5年来也不是什么没学,5年前自己应该是只会C#,但后来陆续学会了js和golang,并有了相关的工作经验。 在编程这方面,我是更偏向于在工作中学习,单纯的为了学习而学或者研究,似乎真没有那么多耐心。...阅读全文

博文 2019-04-04 01:34:39 海之方

leetcode_355

Golang: 思路:设计推特,搬运我的题解 这里的代码依旧有着很大优化的空间,比如按时间排序上,可以维护一个堆;对于每一个用户,我们可以只保存他/她的最近十条推特 但是不太想写了,因为比较麻烦。。。 globalId:类似timestamp时间标记 follower:记录每个用户关注的用户列表 checkFollowed表示关注关系,用户A是否关注了用户B,key为“id id”的形式,应该是可以保证唯一性的 twitter存储每个用户发过的推,但是value存的是globalId,方便以后取出来 findtwitter存储的是所有用户发的推 注意,这套代码是不满足并行与分布式的要求的。。。 代码如下: type Twitter struct { globalId int follower...阅读全文

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

leetcode_213

Golang: 思路:这题我个人感觉要复杂一些,难度在于首尾相连,并且,你需要考虑的更全面一些。当然,这题做完的时间复杂度100%,空间47%,但我不太想优化了。简单来说,有房子[1...n],通过打家劫舍1得出的最大值,我们需要做出判断:如果我们没抢n,那么这个最大值没有问题,如果我们抢了n,那么就需要去看下我们抢没抢1,如果也没抢1,那么没问题,但如果抢1了,那么这个最大值就需要修改了,为max([2....n],[1...n-1])。 代码如下: func rob(nums []int) int { if len(nums) == 0 { return 0 } if len(nums) == 1 { return nums[0] } if len(nums) == 2 { if num...阅读全文

博文 2020-02-22 15:32:50 淳属虚构