正文
go语言搭建gtk go语言搭建区块链
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
为什么苹果可以用两种编程语言开发应用?而安卓只能用JAVA。不能用其他呢?Go语言不支持安卓?
苹果公司允许开发人员使用 Objective-C 和 Swift 两种编程语言开发 iOS 应用,因为这两种语言已经紧密地与苹果的开发环境和工具集整合在一起。
安卓操作系统原生支持 Java 语言,因此它是安卓应用开发的首选语言。但是,安卓也支持使用其他语言(如 Kotlin)来开发应用,并且使用其他语言的开发人员可以通过 Java Native Interface (JNI) 访问安卓的底层系统 API。
Go语言不是安卓操作系统原生支持的语言,因此需要使用其他方法才能在安卓上开发 Go 语言应用。
具体的方法有:
gomobile: Go 语言官方支持的工具,用于在安卓和 iOS 上编译 Go 代码为本地应用。
go-android: 一个开源库,用于在安卓上运行 Go 语言代码。
go-gtk: 一个库,用于在安卓上使用 GTK+ 构建 GUI 应用。
这些项目允许开发人员在安卓上使用 Go 语言开发应用,但请注意,目前这些项目可能仍然处于试验阶段,不保证稳定性和性能。
如何搭建go语言环境 linux
Go的三种安装方式
Go有多种安装方式,你可以选择自己喜欢的。这里我们介绍三种最常见的安装方式:
Go源码安装:这是一种标准的软件安装方式。对于经常使用Unix类系统的用户,尤其对于开发者来说,从源码安装可以自己定制。
Go标准包安装:Go提供了方便的安装包,支持Windows、Linux、Mac等系统。这种方式适合快速安装,可根据自己的系统位数下载好相应的安装包,一路next就可以轻松安装了。**推荐这种方式**
第三方工具安装:目前有很多方便的第三方软件包工具,例如Ubuntu的apt-get、Mac的homebrew等。这种安装方式适合那些熟悉相应系统的用户。
最后,如果你想在同一个系统中安装多个版本的Go,你可以参考第三方工具GVM,这是目前在这方面做得最好的工具,除非你知道怎么处理。
Go源码安装
在Go的源代码中,有些部分是用Plan 9 C和ATT汇编写的,因此假如你要想从源码安装,就必须安装C的编译工具。
在Mac系统中,只要你安装了Xcode,就已经包含了相应的编译工具。
在类Unix系统中,需要安装gcc等工具。例如Ubuntu系统可通过在终端中执行sudo apt-get install gcc
libc6-dev来安装编译工具。
在Windows系统中,你需要安装MinGW,然后通过MinGW安装gcc,并设置相应的环境变量。
你可以直接去官网下载源码,找相应的goVERSION.src.tar.gz的文件下载,下载之后解压缩到$HOME目录,执行如下代码:
cd go/src
./all.bash
运行all.bash后出现"ALL TESTS PASSED"字样时才算安装成功。
上面是Unix风格的命令,Windows下的安装方式类似,只不过是运行all.bat,调用的编译器是MinGW的gcc。
如果是Mac或者Unix用户需要设置几个环境变量,如果想重启之后也能生效的话把下面的命令写到.bashrc或者.zshrc里面,
export GOPATH=$HOME/gopath
export PATH=$PATH:$HOME/go/bin:$GOPATH/bin
如果你是写入文件的,记得执行bash .bashrc或者bash
.zshrc使得设置立马生效。
如果是window系统,就需要设置环境变量,在path里面增加相应的go所在的目录,设置gopath变量。
当你设置完毕之后在命令行里面输入go,看到如下图片即说明你已经安装成功
图1.1 源码安装之后执行Go命令的图
如果出现Go的Usage信息,那么说明Go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了Go的安装目录。
关于上面的GOPATH将在下面小节详细讲解
Go标准包安装
Go提供了每个平台打好包的一键安装,这些包默认会安装到如下目录:/usr/local/go
(Windows系统:c:\Go),当然你可以改变他们的安装位置,但是改变之后你必须在你的环境变量中设置如下信息:
export GOROOT=$HOME/go
export GOPATH=$HOME/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
上面这些命令对于Mac和Unix用户来说最好是写入.bashrc或者.zshrc文件,对于windows用户来说当然是写入环境变量。
如何配置go语言集成开发环境 vim
1、编译vimgdb
下载vimgdb73和vim73
mkdir -p ./tmp
cd tmp
tar zxvf ../vim-7.3.tar.gz
unzip ../vimgdb-for-vim7.3-master.zip
mv vimgdb-for-vim7.3-master vimgdb-for-vim7.3
patch -p0 vimgdb-for-vim7.3/vim73.patch
cd vim73
安装依赖
sudo apt-get install build-essential
sudo apt-get build-dep vim-gtk
sudo apt-get install libncurses5-dev
安装
// 这里直接执行make的操作
make
sudo make install
安装vimgdb runtime
cd ../vimgdb-for-vim7.3
cp vimgdb_runtime ~/.vim/bundle
打开vim
:helptags ~/.vim/bundle/vimgdb_runtime/doc " 生成doc文件
添加配置.vimrc
" vimgdb插件
run macros/gdb_mappings.vim
在vim中执行gdb时,报 “Unable to read from GDB pseudo tty” 的错误,因为没有安装 gdb ,所以安装gdb
sudo apt-get install gdb
2、安装vundle
set up vundle
$ git clone ~/.vim/bundle/vundle
Configure Plugins
在.vimrc文件的开头添加下面的内容,有些不是必须的,可以注掉
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
" alternatively, pass a path where Vundle should install plugins
"let path = '~/some/path/here'
"call vundle#rc(path)
" let Vundle manage Vundle, required
Plugin 'gmarik/vundle'
" The following are examples of different formats supported.
" Keep Plugin commands between here and filetype plugin indent on.
" scripts on GitHub repos
Plugin 'tpope/vim-fugitive'
Plugin 'Lokaltog/vim-easymotion'
Plugin 'tpope/vim-rails.git'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" scripts from
Plugin 'L9'
Plugin 'FuzzyFinder'
" scripts not on GitHub
Plugin 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own plugin)
Plugin ''
" ...
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" : PluginList - list configured plugins
" : PluginInstall(!) - install (update) plugins
" : PluginSearch(!) foo - search (or refresh cache first) for foo
" : PluginClean(!) - confirm (or auto-approve) removal of unused plugins
"
" see :h vundle for more details or wiki for FAQ
" NOTE: comments after Plugin commands are not allowed.
" Put your stuff after this line
Install Plugins
Launch vim and run
: PluginInstall
vim +PluginInstall +qall
3、官方vim-lang插件
Config vim file .vimrc,Add content bellow in bottom of the file
" 官方的插件
" Some Linux distributions set filetype in /etc/vimrc.
" Clear filetype flags before changing runtimepath to force Vim to
" reload them.
filetype off
filetype plugin indent off
set runtimepath+=$GOROOT/misc/vim
filetype plugin indent on
syntax on
autocmd FileType go autocmd BufWritePre Fmt
4、代码补全的插件gocode
配置go的环境变量,比如我的配置,GOPATH变量是必须要配置的,PATH中必须把GOPATH的bin也添加进去,否则没有自动提示,会提示找不到模式
export GOROOT=/usr/local/go
export GOPATH=/data/app/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
Set up gocode
Then you need to get the appropriate version of the gocode, for 6g/8g/5g compiler you can do this:
go get -u github.com/nsf/gocode (-u flag for "update")
Configure vim in .vimrc file
Plugin 'nsf/gocode', {'rtp': 'vim/'}
Install Plugins
Launch vim and run
: PluginInstall
vim +PluginInstall +qall
写一个helloword程序,输入fmt后按C-xC-o如果能看到函数的声明展示出来,说明安装是正确的。
4、代码跳转提示godef
Set up godef
go get -v code.google.com/p/rog-go/exp/cmd/godef
go install -v code.google.com/p/rog-go/exp/cmd/godef
git clone ~/.vim/bundle/vim-godef
Configure vim in .vimrc file
Bundle 'dgryski/vim-godef'
Install Plugins
Launch vim and run
: PluginInstall
vim +PluginInstall +qall
5、代码结构提示gotags
Set up gotags
go get -u github.com/jstemmer/gotags
Put the following configuration in your vimrc:
Bundle 'majutsushi/tagbar'
nmap :TagbarToggle
let g:tagbar_type_go = {
\ 'ctagstype' : 'go',
\ 'kinds' : [
\ 'p:package',
\ 'i:imports:1',
\ 'c:constants',
\ 'v:variables',
\ 't:types',
\ 'n:interfaces',
\ 'w:fields',
\ 'e:embedded',
\ 'm:methods',
\ 'r:constructor',
\ 'f:functions'
\ ],
\ 'sro' : '.',
\ 'kind2scope' : {
\ 't' : 'ctype',
\ 'n' : 'ntype'
\ },
\ 'scope2kind' : {
\ 'ctype' : 't',
\ 'ntype' : 'n'
\ },
\ 'ctagsbin' : 'gotags',
\ 'ctagsargs' : '-sort -silent'
\ }
命令模式下按在右边就会显示当前文件下的函数名,结构体名等等,光标放到相应的tag上,按回车可以快速跳到程序中的相应位置。
再次按会关闭tag窗口。
PS:本地的.vimrc的配置
" 插件管理器 vundle
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
" alternatively, pass a path where Vundle should install plugins
"let path = '~/some/path/here'
"call vundle#rc(path)
" let Vundle manage Vundle, required
Plugin 'gmarik/vundle'
" The following are examples of different formats supported.
" Keep Plugin commands between here and filetype plugin indent on.
" scripts on GitHub repos
" Plugin 'tpope/vim-fugitive'
" Plugin 'Lokaltog/vim-easymotion'
" Plugin 'tpope/vim-rails.git'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
" Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" scripts from
" Plugin 'L9'
" Plugin 'FuzzyFinder'
" scripts not on GitHub
" Plugin 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own plugin)
" Plugin ''
" ...
"
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
" filetype plugin on
"
" Brief help
" : PluginList - list configured plugins
" : PluginInstall(!) - install (update) plugins
" : PluginSearch(!) foo - search (or refresh cache first) for foo
" : PluginClean(!) - confirm (or auto-approve) removal of unused plugins
"
" see :h vundle for more details or wiki for FAQ
" NOTE: comments after Plugin commands are not allowed.
" Put your stuff after this line
syntax on
" ********************************************************************
" 这里省略了其它不相关的插件
" vimgdb插件
run macros/gdb_mappings.vim
" 官方的插件
" Some Linux distributions set filetype in /etc/vimrc.
" Clear filetype flags before changing runtimepath to force Vim to
" reload them.
filetype off
filetype plugin indent off
set runtimepath+=$GOROOT/misc/vim
filetype plugin indent on
syntax on
autocmd FileType go autocmd BufWritePre buffer Fmt
" 代码补全的插件
Bundle 'Blackrush/vim-gocode'
" 代码跳转提示
Bundle 'dgryski/vim-godef'
" 代码结构提示
Bundle 'majutsushi/tagbar'
nmap F8 :TagbarToggleCR
let g:tagbar_type_go = {
\ 'ctagstype' : 'go',
\ 'kinds' : [
\ 'p:package',
\ 'i:imports:1',
\ 'c:constants',
\ 'v:variables',
\ 't:types',
\ 'n:interfaces',
\ 'w:fields',
\ 'e:embedded',
\ 'm:methods',
\ 'r:constructor',
\ 'f:functions'
\ ],
\ 'sro' : '.',
\ 'kind2scope' : {
\ 't' : 'ctype',
\ 'n' : 'ntype'
\ },
\ 'scope2kind' : {
\ 'ctype' : 't',
\ 'ntype' : 'n'
\ },
\ 'ctagsbin' : 'gotags',
\ 'ctagsargs' : '-sort -silent'
\ }
go可以使用qt或gtk吗
第一个有个叫deepin的团队也自己造个轮子,专门用了自动bind工具去将go bind到最新的gtk上,儿网上其他形形色色的gogtk差不多都是手动绑定。
当然也有相关的项目叫linuxdeepin,简直是金光闪闪。
第二个有个出名的项目叫做liteide(goqt),goqml也有个知名度还差不多的项目limetext,就是go写的sublime的开源版本。
第三个有一个唯一的好处:原生。但是坏处就是不好用,甚至算不上能用,官方的例子都不多(就两三个),目前我没看到有比较出名使用它构建的项目。
Ubuntu 命令教程全录
ubuntu如何卸载apt-get install安装的软件
ubuntu下使用apt方式安装、卸载nginx
ubuntu下apt-get安装及卸载jdk
linux命令(5)Ubuntu apt-get安装卸载命令
ubuntu下apt-get安装和彻底卸载mysql
ubuntu 下 apt-get来安装tomcat的几个问题
ubuntu中安装和卸载apache2
Ubuntu中安装和删除Tocmat6
Ubuntu安装VSCode
linux apt-get安装和卸载命令
如何在Ubuntu 14.04上安装与卸载PostgreSQL
Haproxy在linux下安装配置go语言搭建gtk,以及开日志
【Ubuntu16】apt-get安装MariaDB
ubantu 安装erlang18.0 记录
如何重新安装boostgo语言搭建gtk,在ubuntu下
nodeJs express 安装与升级,ubuntu 卸载apt 包管理的软件
ubuntu10.10下network-manager的删除与安装
Ubuntu下boost库的编译安装步骤及卸载方法详解
Ubuntu 下面到 apt-get 命令安装和删除deb软件包
xrdp登录失败go语言搭建gtk,最终卸载xrdp,重新安装解决
Ubuntu14.04 下apt-get安装Code::Blocks
ubuntu 16.04安装redis的两种方式(apt和编译方式)和卸载
ubuntu下安装go语言;sublime+gocode搭建;go的卸载和环境变量配个人.bashrc;2空位3个网
Ubuntu 16.04 apt终端命令的使用以及软件的安装和卸载
Ubuntu 下配置protobuf
Ubuntu apt-get彻底卸载软件包
ubuntu12.04上的mongodb卸载
Ubuntu16.04 python3.5安装 / 卸载opencv
在Ubuntu14.01 LTS下安装OpenMPI
Ubuntu如何重新安装g++编译器
Ubuntu14.04 下apt-get安装Code::Blocks
ubuntu 16.04安装redis的两种方式(apt和编译方式)和卸载
ubuntu下安装go语言;sublime+gocode搭建;go的卸载和环境变量配个人.bashrc;2空位3个网
Ubuntu 16.04 apt终端命令的使用以及软件的安装和卸载
Ubuntu 下配置protobuf
Ubuntu apt-get彻底卸载软件包
ubuntu12.04上的mongodb卸载
Ubuntu16.04 python3.5安装 / 卸载opencv
在Ubuntu14.01 LTS下安装OpenMPI
Ubuntu如何重新安装g++编译器
Ubuntu14.04 下apt-get安装Code::Blocks
ubuntu 16.04安装redis的两种方式(apt和编译方式)和卸载
ubuntu下安装go语言;sublime+gocode搭建;go的卸载和环境变量配个人.bashrc;2空位3个网
Ubuntu 16.04 apt终端命令的使用以及软件的安装和卸载
Ubuntu 下配置protobuf
Ubuntu apt-get彻底卸载软件包
ubuntu12.04上的mongodb卸载
Ubuntu16.04 python3.5安装 / 卸载opencv
在Ubuntu14.01 LTS下安装OpenMPI
Ubuntu如何重新安装g++编译器
ubuntu下内核的升级与卸载
Ubuntu 环境下,卸载Nginx后重装失败的处理方法
Ubuntu 安装MTP驱动访问安卓设备
ubuntu搭建libevent环境
卸载VMware Tools、重新安装VMware Tools、Ubuntu无法共享文件夹
Ubuntu 16.04 apt终端命令的使用以及软件的安装和卸载
ubuntu apt-get卸载软件无法卸载干净的解决方法(ubuntu卸载apache)
ubuntu 安装/卸载redis
ubuntu下virtualbox的安装、卸载
ubuntu14.04 安装及卸载opencv2.4.9
ubuntu下内核的升级与卸载
Ubuntu 环境下,卸载Nginx后重装失败的处理方法
Ubuntu 安装MTP驱动访问安卓设备
ubuntu搭建libevent环境
卸载VMware Tools、重新安装VMware Tools、Ubuntu无法共享文件夹
Ubuntu 16.04 apt终端命令的使用以及软件的安装和卸载
ubuntu apt-get卸载软件无法卸载干净的解决方法(ubuntu卸载apache)
ubuntu 安装/卸载redis
ubuntu下virtualbox的安装、卸载
ubuntu14.04 安装及卸载opencv2.4.9
ubuntu下内核的升级与卸载
Ubuntu 环境下,卸载Nginx后重装失败的处理方法
Ubuntu 安装MTP驱动访问安卓设备
ubuntu搭建libevent环境
卸载VMware Tools、重新安装VMware Tools、Ubuntu无法共享文件夹
Ubuntu 16.04 apt终端命令的使用以及软件的安装和卸载
ubuntu apt-get卸载软件无法卸载干净的解决方法(ubuntu卸载apache)
ubuntu 安装/卸载redis
ubuntu下virtualbox的安装、卸载
ubuntu14.04 安装及卸载opencv2.4.9
在linux 系统下如何卸载go 语言
Ubuntu中安装ZMQ以及pyzmq
Ubuntu下安装GTK的三种方法
ubuntu安装及卸载cuda
Ubuntu 16.04 安装 Java JDK
Ubuntu通过apt-get命令安装java jdk6
ubuntu16.04卸载mysql5.7安装mysql5.6
Ubuntu下安装Jenkins
ubuntu安装groovy
ubuntu卸载已经安装的软件包
go语言搭建gtk的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于go语言搭建区块链、go语言搭建gtk的信息别忘了在本站进行查找喔。