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

还有比这更好的消息吗?— Go支持Android和iOS

minux大神就说了: 代码在 https://bitbucket.org/minux/goios 的 ios3 分支。 初步的文档在 misc/ios/README。交叉编译需要 iOS SDK,得在 OS X 上面开发。理论上如果你能在 Linux 架设交叉编译环境的话,在 Linux 上开发也不是不行。 我计划把这个 port 加入到 Go 1.5。按照 Brad 给出的 1.5 预览, 应该问题不大。http://talks.golang.org/2014/state-of-the-gopher.slide#40 现在的问题是如何架设 builder。 哎,断断续续搞了3年,终于搞定了。我觉得用 Go 开发 iOS 程序比用 Go 开发 Andro...阅读全文

用 Go Plugin 构建模块化系统

自从 golang 1.8以后,提供了一个 Plugin 的机制使得 golang能够加载 so 动态链接库文件。 这样可以对外发布动态链接库而不需要把源码共享给对方去进行编译,还可以做到按需加载相应的插件来实现动态开启插件相应的功能。 官方文档在此:https://golang.org/pkg/plugin/ 编写一个 Plugin 基本有以下几步: 1.Plguin 需要有自己的 main package 2.编译的时候,使用 go build -buildmode=plugin file.go 来编译 3.使用 plugin.Open(path string) 来打开.so文件,同一插件只能打开一次,重复打开会报错 4.使用 plugin.LookUp(name string) 来获取...阅读全文

博文 2019-04-14 22:34:43 faunjoe

如何利用Golang为Python编写模块

前言 ​ 由于公司的Python项目中有关于支付签名与验签的模块,是自定的一些内部逻辑,基于安全性考虑, 希望改用C/C++或者Go 来重构该部分模块,做到加解签过程透明,上层代码只需要关心结果. 由于最近开始了Golang的学习,就尝试完成这部分工作,整个过程都是边踩坑边完成,下面以样例代码来分享一下整个过程的思路. 记录 ​ Go里面需要显示的引入C模块, 让编译器支持生成动态链接库, 并且在代码中可以使用C语言的数据类型,这个至关重要. Calling Go code from Python code 摘取一个最简单例子 //libadd.go package main import "C" //export add func add(left, right int) int { re...阅读全文

博文 2017-03-01 08:44:09 咸鱼c

Go1.5 尚未实现的Todolist

1.5的代码将在5月1日冻结,go team官方给出了在1.5中尚未实现的Todolist,但并不承诺后续一定会实现。[ Todolist 文档查看](http://pan.baidu.com/s/1mgxciHa)。其中有一项“shared library support ”,看来go有意向支持动态链接库了! Go 1.5 code freeze is May 1, 2015; release is August 1, 2015. This is a list of things we’re hoping will be in Go 1.5 but are not yet done. For the list of things that are done, see do...阅读全文

并发长链接框架Zinx--基于Golang轻量级并发TCP服务器框架

# Zinx [![License](https://img.shields.io/badge/License-GPL%203.0-blue.svg)](LICENSE) [![Gitter](https://img.shields.io/badge/在线交流-Gitter-green.svg)](https://gitter.im/zinx_go/community) [![zinx详细教程](https://img.shields.io/badge/zinx详细教程-简书-red.svg)](https://www.jianshu.com/p/23d07c0a28e5) [![zinx原创书籍下载](https://img.shields.io/badge/原创书籍下载-Gitbook...阅读全文

GO 语言学习资料分享

链接:https://pan.baidu.com/s/1oauTymCxj-FzQp0331XY_w 提取码:l12h 链接:https://pan.baidu.com/s/1mRh6SqEXosK7BcBRaqn0nQ 提取码:yqib ![微信截图_20190416112716.png](https://static.studygolang.com/190416/e7f80c21f2cfab29a732e9d8dbd4a58f.png)![微信截图_20190416112726.png](https://static.studygolang.com/190416/036680a078f79723ec5e2c1d4fc33bce.png)![微信截图_201904161...阅读全文

Golang中time.Parse和time.Format的时区问题

一、问题描述 time.Parse()的默认时区是UTC,time.Format()的时区默认是本地,两者如果不处理好就会导致错误。 package main import "time" import "fmt" func main(){ t, err := time.Parse("2006-01-02 15:04:05", "2017-12-03 22:01:02") if err != nil{ fmt.Println(err) return } fmt.Println(t) fmt.Println(time.Now()) fmt.Println(time.Now().Sub(t).Seconds()) } 输出: 2017-12-03 22:01:02 +0000 UTC 2017-1...阅读全文

博文 2019-05-03 01:34:37 风亡小窝

Golang 开源库

PostgreSQL链接库; https://github.com/bmizerany/pq MarkDown解析库 https://github.com/russross/blackfriday Redis链接库 https://github.com/alphazero/Go-Redis 配置文件读取库 https://github.com/jonsen/goconfig/config 日志操作库 https://github.com/cihub/seelog 数据库ORM库 https://github.com/astaxie/beedb 微信 https://github.com/astaxie/weixin 这个项目是基于beego开发的微信应用,主要实现了“Go中国”这个微信账号的...阅读全文

博文 2015-06-08 06:00:01 ellice

C/C++/Go混合编程实践之GoJieba

最近想在团队中推动Go在项目中更多场景的应用,提高开发效率。 但是遇到了一个顾虑,就是有些功能库是 C++ 写的, 切换到 Go 开发之后如果需要这些功能的话, 完全重写一个短期内不现实。 所以就产生了探究 C/C++/Go 混合编程的想法。 很早之前就听说 Go 语言对 C 语言非常友好, 几乎可以无缝使用 C 的一些丰富遗产。 刚学 Go 的时候尝试了一下,应该是因为参考的资料的问题, 没有顺利跑通。后来忙其他事情了,也没有深究为什么。 所以趁这个周末捣鼓了一下,跑通了 C/C++/GO 混合编程。 主要参考 how-to-use-c++-in-go 和 cgo , 不过前者的回答毕竟久远了,比如就不需要写像作者描述的, 那么复杂的 Makefile,直接 go build 即可(可以参...阅读全文

博文 2016-02-05 05:00:00 xie1xiao1jun

go实现爬取href链接

刚开始爬取的时候是用正则表达式实现的,然后爬取了不必要的链接,现在改用goquery实现: // judgeUrl project judgeUrl.go package judgeUrl import ( "strings" ) func IsUrl(str string) bool { if strings.HasPrefix(str, "#") || strings.HasPrefix(str, "//") || strings.HasSuffix(str, ".exe") || strings.HasSuffix(str, ":void(0);") { return false } else if strings.HasPrefix(str, "{") && strings.HasS...阅读全文

博文 2016-02-18 22:00:00 u011466175

golang tcp 2 unix socket proxy

想将mysql 的TCP 封死,所有外部链接由我的proxy来控制,so 写了一个 tcp 转 unix socket 的 proxy。 package main import ( "os" "fmt" "net" "io" "sync" "time" ) type proxy struct{ Host string Port string Local string } func runProxy(list []proxy) { wg := sync.WaitGroup{} for _, v := range list { wg.Add(1) go func() { eachServer(v.Host, v.Port, v.Local) wg.Done() }() } wg.Wait() }...阅读全文

博文 2015-06-17 20:23:11 ylqmf

Grpc+Grpc Gateway实践一 介绍与环境安装

介绍与环境安装 假定我们有一个项目需求,希望用Rpc作为内部API的通讯,同时也想对外提供Restful Api,写两套又太繁琐不符合 于是我们想到了Grpc以及Grpc Gateway,这就是我们所需要的 准备环节 在正式开始我们的Grpc+Grpc Gateway实践前,我们需要先配置好我们的开发环境 Grpc Protoc Plugin Protocol Buffers Grpc-gateway Grpc 是什么 Google对Grpc的定义: A high performance, open-source universal RPC framework 也就是Grpc是一个高性能、开源的通用RPC框架,具有以下特性: 强大的IDL,使用Protocol Buffers作为数据交换的格...阅读全文

博文 2018-02-23 17:34:38 EDDYCJY

go在windows下连接oracle数据库

一、系统环境 1. win7 64位 2. go 1.8 3. oracle SDK版本 12.1 4. mingw64位 5. go-oci8 二、安装步骤 1. 安装go1.8,参照网上的教程 2. 下载oracle 的sdk和运行库 3. 安装mingw64和pkg-config.exe,将pkg-config拷贝到mingw64的bin目录,pkg-config是编译go-oci8的时候需要用到的。 三、配置 1. 修改oci8.pc文件,存入mingw64的lib/pkgconfig目录 2. 修改PKG_CONFIG_PATH为E:\mingw-w64\mingw-w64\x86_64-4.9.2-posix-seh-rt_v3-r...阅读全文

golang1.7 关于CGO的一个小问题:C.free使用.

package main // #include import "C" import ( "fmt" "syscall" "unsafe" ) func main() { kernel := syscall.NewLazyDLL("Kernel32.dll") defer syscall.CloseHandler(syscall.Handle.(kernel.Handle())) volume := kernel.NewProc("GetVolumePathNameA") char := C.CString("D:") defer C.free(unsafe.Pointer(char)) n := make([]byte, 254) _, _, err := volum...阅读全文

博文 2016-09-05 11:00:05 fyxichen

Golang视频资源

看到了好几个教程贴,貌似大家都很缺资源?我这里来送上一份 这是从网络上搜集到的资源,还有别的比如Python什么的都有的。 大家一起学习,一起进步哈 链接: https://pan.baidu.com/s/1elKR0RNxD4K2aIV0q5koEQ 提取码: ixa2 链接: https://pan.baidu.com/s/1V4LAdYAamD5pHFVoBo4cyA 提取码: srg...阅读全文

博文 2019-02-20 23:45:42 handsomeyu7

生存还是毁灭?一文读懂挖矿木马的战略战术

前言比特币等虚拟货币在2019年迎来了久违的大幅上涨,从最低3000美元上涨至7月份的14000美元,涨幅达300%,巨大的金钱诱惑使得更多的黑产团伙加入了恶意挖矿的行列。阿里云安全团队通过对云上僵尸网络家族的监控,发现恶意挖矿已成为黑产团伙主要的牟利方式。2019年共监控到58个成规模的挖矿木马团伙(数据截止到8月底),以累积感染量定义木马活跃度,下图/表是活跃TOP10的木马家族及简介。本文尝试从宏观角度分析、总结挖矿木马常用技术及发展趋势,以期能够给企业安全防护带来启示。 核心观点木马投放方式全面蠕虫化,多种漏洞组合攻击成为趋势,N-day漏洞利用速度在加快  这种趋势无疑令人异常担忧,意味着挖矿木马的传播能力在大幅增强,变得无孔不入。一旦企业的信息系统存在任意可被利用的漏洞,那么企业...阅读全文

博文 2019-10-18 18:33:03 aside section ._1OhGeD

Springboot连接MySQL8.0出现的问题

以前用的是5.7版本的MySQL,在学习实践Springboot的时候顺带升级了一下8.0,遇到了一些坑,在这记录一下,有碰到同类问题的童鞋需要自取。 使用 navicat连接发现报错1251- Client does not support authentication protocol 错误 这个笔者查询资料发现是新版本的加密规则变了,在mysql8之后,加密规则是caching_sha2_password,之前的是mysql_native_password,所以解决办法要不就是升级navicat要不就是修改加密规则。 这里修改加密规则: 1.进入MySQL的bin目录打开CMD,然后输入mysql -u root -p,输入密码 2.然后输入 ALTER USER 'root'@'lo...阅读全文

博文 2018-10-15 13:50:45 Enjoyjava

go 链接 vs2010 C语言 LIB,找不到函数?

//**************************main 文件***************************** package main /* #include ".\libinc\BL5460Tools.h" #include ".\libinc\DeviceMgr.h" #include ".\inc\SelfDebugPaltformView.h" #include ".\inc\CfgAutoTune.h" #cgo CFLAGS: -I .\libinc #cgo CFLAGS: -I .\inc #cgo LDFLAGS: -L .\lib */ import "C" func main() { C.DEVMGR_Open("...阅读全文

我希望的Golang的feature

如果有下面的功能,Go可以让程序员更高效。 1. 数学类型的自动转换。现在做个整数跟浮点数的计算也要手动转类型。据说是为了更安全和可预测的代码。但是其他主流语言都支持自动转,大家早就习惯了。需要考虑类型安全的地方,该考虑的人自然会去考虑。 2. Polymorphism的支持。interface对多态的支持还是比较有限。down casting做不了有的时候还是不大方便。比如下面这段代码就编不过 type Base struct { xxxx } type Derived struct { Base } func main() { v1 := &Drived{} var v2 *Base v2 = v1 //编译不过 v2 = *Base(v1) //也不行 } 3. 更方便的数组的操作比如...阅读全文

博文 2015-12-28 00:00:00 kefeng_chen

golang引用静态链接文件问题

各位gopher,请教个问题。 我有个stuff.a文件需要import在自己的main.go中 根据网上资料,stuff.a文件放在$GOROOT/pkg/linux_amd64/下,在$GOROOT/src/中touch一个fake的source文件,即stuff/stuff.go。 如果stuff.a中有其他嵌套的import,则编译呢main.go会出现undefined的错误,即找不到stuff.a中的方法 如果stuff.a没有其他嵌套的import,则可以使用(当然嵌套和非嵌套对应的方法内容是不一样的,否则go install不会通过) 各位有遇到相同的情况么?go install应该带上什么参数么...阅读全文