-
[转]为什么 PHPer 应当学习 Golang
所属栏目:[大数据] 日期:2020-12-16 热度:82
作者:星星 来源:http://mikespook.com/2012/08/%E4%B8%BA%E4%BB%80%E4%B9%88phper%E5%BA%94%E5%BD%93%E5%AD%A6%E4%B9%A0golang/ 熟悉我的朋友应当知道,近些年的大部分时间我的工作都会多少和 PHP 相关。随着 PHP 有着越来越深入的了解,以及遇到越来越多[详细]
-
golang小程序试验(二)
所属栏目:[大数据] 日期:2020-12-16 热度:126
1. golang程序运行时间显示 packagemainimport("fmt""time""math/rand")funcmain(){rand.Seed(time.Now().Unix())varnamestringfori:=0;i3;i++{name=fmt.Sprintf("go_%02d",i)gorunroutine(name,time.Duration(rand.Intn(5))*time.Second)}varinputstring//f[详细]
-
整理一下Go环境需要的东西(水帖~)
所属栏目:[大数据] 日期:2020-12-16 热度:78
先声明 不是搭建教程。。 重做了个系统要重新搭环境,结果原来的很多站点的东西都没了,害我辛辛苦苦折腾了好久,于是今天整理一下。 go下载 Golangtc下载 这个貌似比官网快 环境变量已有 GOROOT (windows默认会装在 C:Go 不想装在C盘又不想改配置的可以用[详细]
-
golang小程序试验(三)
所属栏目:[大数据] 日期:2020-12-16 热度:176
1. golang的log模块 golang的log模块可以很方便的创建自己的日志记录,包括日志文件路径,日志格式等都可以自己定义。先来看一个程序: package mainimport ("fmt""log""os")func main() {logfile,err := os.OpenFile("d:test.log",os.O_RDWR|os.O_CREATE,[详细]
-
GOLANG 实现的 fastcgi
所属栏目:[大数据] 日期:2020-12-16 热度:191
server { listen 80; server_name go.dev; root /root/go/src/godev; index index.html; #gzip off; #proxy_buffering off; location / { try_files $uri $uri/; } location ~ /app.* { include fastcgi.conf; fastcgi_pass 127.0.0.1:9001; try_files $uri[详细]
-
GoLang之命令行使用方法——flag package
所属栏目:[大数据] 日期:2020-12-16 热度:76
2013-12-08 wcdj go语言通过使用标准库里的flag包来处理命令行参数。 Package flag implements command-line flag parsing. http://golang.org/pkg/flag/ http://golang.org/pkg/ 几点注意事项: 1,通过flag.String(),Bool(),Int()等方式来定义命令行中需要[详细]
-
GoLang之Concurrency协程goroutine使用方法
所属栏目:[大数据] 日期:2020-12-16 热度:132
2013-12-08 wcdj 在go语言中,使用goroutine(a lightweight thread managed by the Go runtime)来实现并发程序。 go f(x,y,z) starts a new goroutine running f(x,z) The evaluation of f , x , y ,and z happens in the current goroutine and the execu[详细]
-
使用golang在与数据库访问过程中的一点想法
所属栏目:[大数据] 日期:2020-12-16 热度:54
遇到的问题 golang对于基本类型初始化的处理,是自动给基本类型赋值为默认值。比如: var i int//在这里如果不对i做任何赋值,那么i的值为零 这个特性在很多地方能够避免访问到未初始化变量的尴尬,但是由此也引出了另外一个问题,就是在进行数据库访问操作[详细]
-
GoLang操作文件
所属栏目:[大数据] 日期:2020-12-16 热度:81
GoLang操作文件的方法有很多,这里记录和归纳一下。主要有create/NewFile/Open/OpenFile/Pipe这5个。 func Create(name string) (file *File,err error)func NewFile(fd uintptr,name string) *Filefunc Open(name string) (file *File,err error)func OpenF[详细]
-
Go语言如何深度拷贝对象
所属栏目:[大数据] 日期:2020-12-16 热度:195
深度复制可以基于 reflect 包的反射机制完成,但是全部重头手写的话会很繁琐. 最简单的方式是基于序列化和反序列化来实现对象的深度复制: func deepCopy(dst,src interface{}) error {var buf bytes.Bufferif err := gob.NewEncoder(buf).Encode(src); err !=[详细]
-
golang小程序试验(四)
所属栏目:[大数据] 日期:2020-12-16 热度:112
1. golang的函数类型转换 一个go playground的例子,首先定义一个func类型的别名A,然后定义了A的一个方法。再定义一个函数,此函数的参数与返回值与A相同(这样才能显式转换)。在main中把此函数显式转换为A类型,这样它就可以调用A的方法了。 package main[详细]
-
GoLang几种读文件方式的比较
所属栏目:[大数据] 日期:2020-12-16 热度:196
GoLang提供了很多读文件的方式,一般来说常用的有三种。使用Read加上buffer,使用bufio库和ioutil 库。 那他们的效率如何呢?用一个简单的程序来评测一下: package mainimport( "fmt" "os" "flag" "io" "io/ioutil" "bufio" "time")func read1(path string)[详细]
-
关于Dart与Golang
所属栏目:[大数据] 日期:2020-12-16 热度:170
关于Dart与Golang 在chrome浏览器中嵌入一个Dart虚拟机,可以用Dart语言开发Web APP。虽然Dart声称通过Dart2JS可以编译成纯JS文件可运行在各个浏览器商,但一个Hello world的JS编译就让人成了笑话。但不排除未来的精进优化,要知道Dart的负责人是V8引擎负责[详细]
-
GoLang之Concurrency顺序管道模式
所属栏目:[大数据] 日期:2020-12-16 热度:139
2013-12-14 wcdj 本文介绍go利用管道如何进行并发计算,需要注意go的管道是双向的,而UNIX管道是单向的。 PS: 在测试时自己建立了一个后缀为_test.go的文件,build后会提示如下错误: 一句话解释:在go中文件名后缀为_test.go的都是单元测试文件。 具体可参[详细]
-
Golang通过http代理抓取页面代码
所属栏目:[大数据] 日期:2020-12-16 热度:97
package mainimport ("fmt""io/ioutil""net/http""net/url")// http get by proxyfunc GetByProxy(url_addr,proxy_addr string) (*http.Response,error) {request,_ := http.NewRequest("GET",url_addr,nil)proxy,err := url.Parse(proxy_addr)if err != nil[详细]
-
GoLang之Concurrency多任务独立模式
所属栏目:[大数据] 日期:2020-12-16 热度:181
2013-12-15 wcdj 并发编程的一种常见方式是有多个任务需要同时处理,并且每个任务都可以独立地完成。在go语言里每个任务都在一个独立的goroutine(协程)里处理,和其他协程之间没有任何通信。下面通过go语言的方式模拟一个经典的独立多任务并发模式,程序创[详细]
-
深入 Go Playground 内幕
所属栏目:[大数据] 日期:2020-12-16 热度:161
简介 2010年9月,我们介绍了Go Playground,这是一个完全由Go代码组成和返回程序运行结果的web服务器。 如果你是一位Go程序员,那你很可能已经通过阅读Go教程或执行Go文档中的示例程序的途径使用过Go Playground了。 你也可以通过点击 talks.golang.org上幻[详细]
-
my golib:db query Result
所属栏目:[大数据] 日期:2020-12-16 热度:145
go提供了一套统一操作database的sql接口,任何第三方都可以通过实现相应的driver来访问感兴趣的数据库。譬如我们项目中使用的Go-MySQL-Driver。 go提供了一套很好的机制来处理数据库的查询操作,譬如官方的例子: age := 27rows,err := db.Query("SELECT nam[详细]
-
GoLang之Gvim/Vim配置
所属栏目:[大数据] 日期:2020-12-16 热度:51
2013-12-17 wcdj 之前总结过在subl中使用GoLang,《GoLang及Sublime Text 2之Mac OS X 10.8.4开发环境安装 》。其实GoLang的安装包中已经包含了支持Vim的编写插件,配置方法很简单,如下文所述。 Go in Vim The standard Go distribution includes a Go synt[详细]
-
关闭golang 的 variable declared but not used和package
所属栏目:[大数据] 日期:2020-12-16 热度:92
觉得golang的 variable declared but not used 和 package imported but not used 在调试代码的时候很不方便!!!!!! 这么多语言中只有golang会有变量不使用,包引用不用报错的! 有没有方法去掉这两个验证? 再上生产的时候开启验证再改代码? 方法: 修改golang源[详细]
-
Golang 实现文件解压缩与拷贝
所属栏目:[大数据] 日期:2020-12-16 热度:151
package mainimport ("archive/tar""compress/gzip""fmt""io""os""path")// main functions shows how to TarGz a directory/file and// UnTarGz a file// Gzip and tar from source directory or file to destination file// you need check file exist bef[详细]
-
(Manual) GoLang之参考文档
所属栏目:[大数据] 日期:2020-12-16 热度:160
2013-12-22 wcdj 又是一年一度的冬至,新的一年又快到来了。今天在学习go时找到一些不错的文档放在这里方便后续学习。 go-wiki (一个非官方的文档,例子很简短方便学习,详细的用法可以在官方连接中进一步查看) This is an unofficial,community-authored[详细]
-
golang小程序试验(五)
所属栏目:[大数据] 日期:2020-12-16 热度:151
1. golang的指针 可以将unsafe.Pointer转换成uintptr,然后变相做指针运算 package mainimport "fmt"import "unsafe"type User struct {Id intName string}func main() {u := User{1,"tom"}var up uintptr = uintptr(unsafe.Pointer(u)) + unsafe.Offsetof(u[详细]
-
Golang小技巧
所属栏目:[大数据] 日期:2020-12-16 热度:96
作为一个golang新手,我们要写很多简单的golang代码,却又很想保留这些代码。 可是写下一个小程序的时候又不得不注释掉一些代码,渐渐的main函数很乱,或者有很多入口。 这里我介绍一种方法。即可以保留这些代码,又不会因为后续新增的代码导致他们很乱。 用[详细]
-
Go2将修改导出规则
所属栏目:[大数据] 日期:2020-12-16 热度:151
Go2将修改导出规则,只有小写字母和"_"开头的不导出. 中文等不区分大小写的标识符默认导出. A solution that's been kicking around for a while: For Go 2 (can't do it before then): Change the definition to "lower case letters and _ are package-loca[详细]
