现在很多带网口的嵌入设备提供有web方式的配置工具。由于最近在了解GO语言,有资料说GO语言的跨平台特性非常的好,性能也十分的优秀。于是就想试着在开发板上看看不能否运行GO的程序。
本测试使用的是golang 1.13.5版本,资料上说只有1.5版以上的GO才支持交叉编译。这一点需要注意
package main
import (
"fmt"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request){
fmt.Fprintf(w, "Hi, This is an example of http service in golang!")
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}
我的GO环境是已经测试好的就直接写代码了。
编译过程
设置环境:
set GOOS=linux
set GOARCH=arm
set GOARM=7
环境参数GOOS=linux 是指定平台;GOARCH=arm 指定cpu架构;GOARM=7 指定ARM的指令集;
编译程序
go build helloweb.go
上传文件
scp helloweb root@192.168.0.103:/usr/local
注意换成你机器的IP地址
windows的机器scp传输的文件是没有执行权的!
执行程序
chmod +x helloweb
可以看见正确的输出了页面。
比较遗憾的是go编写的程序尺寸有点大,我的有6.15M的样子吧。不过用go语言编写的程序功能和性能要好的多。而且功能可以很丰富。开发效率也比较高。go也支持编写动态库,配合C语言可以编写一些比较复杂的程序了。
此内容由EEWORLD论坛网友bigbat原创,如需转载或用于商业用途需征得作者同意并注明出处
引用: 兰博 发表于 2020-3-30 10:06 弱弱的问一下,这个Go语言,看着跟C语言很像啊
golang语言和C的语法甚至和C++都不像。是一种新的语言。具有函数式编程语言的特性,也可以支持接口和多态。
引用: damiaa 发表于 2020-4-8 10:56 不错。这板子就是BGA的加上价格也不便宜。 所以难普及。后面看ST怎么推。玩起来好像还很不错。
听说ST的百分七十的收入是来自于散户应该太贵不了。而且ST的芯片资料比较开放,我猜想应该是奔着卖芯片去的。板子贵不贵的无所谓了。