Go 语言都能做些什么呢
大家好,我是好家伙,漫画 Go 语言小册的作者。这次我要给大家带来一些关于Go语言的一些分享。作为一个程序员,身处这个时代,掌握一门技术,就如同修得一身好武功一样,不仅要经过不断地实战经验,还要有足够的热情,循序渐进才能到达高手的境界。在众多开发语言中,如何才能找到一个适合自己修炼的武功秘籍。那就得对这个语言有所了解。知道它的威力,才能更好的掌握,成为高手就指日可待。
Go 语言作为一门后端语言,到底能够有多大威力,具体能够做些什么,到底能够发出什么样的招式才能够吸引你学习它?那么接下来就简单露几招,还望各位大佬们指教!
gocv 计算机视觉
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV用C++语言编写,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用, 如今也提供对于C#、Ch、Ruby,GO的支持也就是gocv。https://gocv.io/
- 安装 gocv
go get -u -d gocv.io/x/gocv
- 安装 MinGW-W64
https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/7.3.0/
- 安装CMake
https://cmake.org/download/
- 安装编译gocv
1 | go复制代码chdir %GOPATH%\src\gocv.io\x\gocv |
gocv将图片二值化
1 | go复制代码package main |
gocv 人脸检测
1 | go复制代码package main |
gobot 机器人
gobot 是一个使用Go语言编写的适用于机器人,无人机和物联网的IoT框架。https://gobot.io/
- 支持35不同平台。
- 支持输入/输出(GPIO)通讯的设备。
- 模拟I / O(AIO)驱动程序。
- I2C驱动程序。
- SPI驱动器。
树莓派
Raspberry Pi 中文名为树莓派
,简写为RPi
只有信用卡大小的微型电脑,其系统基于Linux,它是一款基于ARM的微型电脑主板。可连接键盘、鼠标和网线,具备PC的基本功能。最新版本的树莓派4B,拥有4G内存,引入USB 3.0,支持双屏4K输出,CPU和GPU的速度也更快。
运行在树莓派上的Go程序实现坦克机器人。
1 | go复制代码package drivers |
1 | go复制代码package core |
视频直播服务
livego 使用纯 go 语言写的一款简单高效的直播服务器。https://github.com/gwuhaolin/livego
- 支持的传输协议
RTMP
,AMF
,HLS
,HTTP-FLV
- 支持的容器格式
FLV
,TS
- 支持的编码格式
H264
,AAC
,MP3
使用
- 1 启动服务:执行 livego 二进制文件启动 livego 服务;
- 2 访问 http://localhost:8090/control/get?room=movie 获取一个房间的channelkey(channelkey用于推流,movie用于播放).
- 3 推流: 通过RTMP协议推送视频流到地址 rtmp://localhost:1935/{appname}/{channelkey} (appname默认是live)
例如: 使用 ffmpeg -re -i demo.flv -c copy -f flv
1 | go复制代码rtmp://localhost:1935/{appname}/{channelkey} 推流(下载demo flv); |
播放: 支持多种播放协议,播放地址如下:
RTMP:rtmp://localhost:1935/{appname}/movie
FLV:http://127.0.0.1:7001/{appname}/movie.flv
HLS:http://127.0.0.1:7002/{appname}/movie.m3u8
1 | go复制代码//ffmpeg命令 推流 |
文档地址:https://github.com/gwuhaolin/livego/blob/master/README_cn.md
CRON 定时任务
go语言支持cron定时任务 https://github.com/jakecoffman/cron
1 | go复制代码package main |
Excelize 一个 Go 语言版本的 Excel 文档 API
Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。支持 XLSX / XLSM / XLTM 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写 API
- 文档地址:
https://xuri.me/excelize/zh-hans/
- 项目地址:
https://github.com/360EntSecGroup-Skylar/excelize
1 | go复制代码package main |
本文转载自: 掘金