新手求问: 如何让golang 项目不开源给客户使用

candy4dmu · 2018-03-17 22:25:21 · 1697 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2018-03-17 22:25:21 的主题,其中的信息可能已经有所发展或是发生改变。

如题, 公司有个golang 版的API,需要给客户调用,但是不希望开源,有什么办法吗?我看现在go项目引入第三方包的方式都是需要GOPATH/src 下的源码的。求教,谢谢!


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1697 次点击  
加入收藏 微博
5 回复  |  直到 2018-03-18 21:58:53
channel
channel · #1 · 7年之前

好像看到过类似这样的方法,比如提供 .a 文件。

不过,你描述的需求,可以提供 API 服务给对方调用啊。

candy4dmu
candy4dmu · #2 · 7年之前
channelchannel #1 回复

好像看到过类似这样的方法,比如提供 .a 文件。 不过,你描述的需求,可以提供 API 服务给对方调用啊。

如何只提供.a 文件,不提供源代码? 你说的API 服务是值什么?

goofool
goofool · #3 · 7年之前

可以通过设置buildmode编译成动态来链接库

go install -buildmode=shared -linkshared packagename

通过-linkshared来调用动态链接库

···bash go build -linkshared -o app main.go

candy4dmu
candy4dmu · #4 · 7年之前
goofoolgoofool #3 回复

可以通过设置buildmode编译成动态来链接库 ```bash go install -buildmode=shared -linkshared packagename ``` 通过-linkshared来调用动态链接库 ···bash go build -linkshared -o app main.go

呃。。。 貌似darwin 不支持

goofool
goofool · #5 · 7年之前
candy4dmucandy4dmu #4 回复

#3楼 @goofool 呃。。。 貌似darwin 不支持

windows上在1.10之前不支持,你可以指定c-archive,生成C库

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传