go语言可以做什么1、服务器编程:以前你如果使用C或者C++做go语言写原生app的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等 。
2、分布式系统、数据库代理器、中间件:例如Etcd 。
3、网络编程:这一块目前应用最广,包括Web应用、API应用、下载应用,而且Go内置的net/http包基本上把我们平常用到的网络功能都实现go语言写原生app了 。
4、开发云平台:目前国外很多云平台在采用Go开发,我们所熟知的七牛云、华为云等等都有使用Go进行开发并且开源的成型的产品 。
5、区块链:目前有一种说法,技术从业人员把Go语言称作为区块链行业的开发语言 。如果大家学习区块链技术的话,就会发现现在有很多很多的区块链的系统和应用都是采用Go进行开发的,比如ehtereum是目前知名度最大的公链,再比如fabric是目前最知名的联盟链,两者都有go语言的版本,且go-ehtereum还是以太坊官方推荐的版本 。
自1.0版发布以来 , go语言引起go语言写原生app了众多开发者的关注 , 并得到了广泛的应用 。go语言简单、高效、并发的特点吸引了许多传统的语言开发人员,其数量也在不断增加 。
使用 Go 语言开发的开源项目非常多 。早期的 Go 语言开源项目只是通过 Go 语言与传统项目进行C语言库绑定实现,例如 Qt、Sqlite 等 。
后期的很多项目都使用 Go 语言进行重新原生实现 , 这个过程相对于其他语言要简单一些,这也促成了大量使用 Go 语言原生开发项目的出现 。
如何Golang开发Android应用如何Golang开发Android应用go语言写原生app:
一丶准备
1.一台Linux 64go语言写原生app的机器
2.一个带有AndroidStudioIDE的开发机器
因为环境配置实在复杂go语言写原生app , 所以引入的docker 。
docker pull codeskyblue/docker-goandroid
docker run --rm -ti codeskyblue/docker-goandroid bash
cd example; echo "view example projects
docker起来之后,什么就都配置好go语言写原生app了,NDK,java,GO的环境变量了,等等,并且还预装了vim,gradle,tmux,git,syncthing,svn
二丶代码
1.写代码之前,先约定下目录结构
go的代码都放在src/golib下,编译使用make.bash编译脚本,看下这个文件树
.
|-- app.iml
|-- build.gradle
|-- libs/armeabi-v7a # go编译生成的so文件
|`-- libgojni.so
|-- main.go_tmpl # 一个模板文件,先不用管它
|-- make.bash # 编译脚本,用来生成.so和Java代码
`-- src
|-- golib
||-- hi
|||-- go_hi#1438;#1438;#1438; # 自动生成的代码
|||`-- go_hi.go
||`-- hi.go # 需要编写的代码
|`-- main.go
`-- main
|-- AndroidManifest.xml
|-- java
||-- go # 自动生成的代码
|||-- Go.java
|||-- Seq.java
||`-- hi
||`-- Hi.java
|`-- me/shengxiang/gohello # 主要的逻辑代码
|`-- MainActivity.java#1438;#1438;#1438;
`-- res
2.写了一个例子
git clone
3.编译下,试试行不行(就算不行问题应该也不大,因为大问题都被消灭了)
cd GoHello/app
./make.bash
../gradlew build
4.一切顺利的话在build/outputs/apk下应该可以看到app-debug.apk这个文件 。
编译好的放到qiniu上了,可以点击下载看看
下面可以尝试改改
打开hi.go这个文件
hi.go的内容,比较简单,写Go代码主要就是这部分
// Package hi provides a function for saying hello.
package hi
import "fmt"
func Hello(name string) {
fmt.Printf("Hello, %s!\n", name)
return "(Go)World"
}
5.文件末尾添加下面这行代码
推荐阅读
- 平时用什么设备拍摄,拍设备用什么镜头
- 横版格斗游戏排行榜下载,横版格斗手游排行榜前十名
- 政务数据区块链,推进政务区块链的意义
- clearhtml5的简单介绍
- 拍摄用什么三角支架比较好,拍摄用什么三角支架比较好看
- 国服恋爱养成游戏推荐知乎,最火的恋爱养成游戏
- if函数python If函数的使用
- 废品回收应该如何推广呢,废品回收推广语段
- 东北师大gis教材,东北师范大学自然地理参考书