linux下的gtk是什么???有什么用??GTK(GIMP Toolkit)是一个Linux平台下基于Xwindow图形窗口的图形用户编程接口工具,可以借助它来开发Linux平台下基于Xwindow的图形用户界面 。通俗点讲,和java中的swing图形开发工具包类似.它注册完全免费,所以用来开发自由软件或商业软件都不需要花费什么 。现在很多Linux集成系统都已经将GTK1.2版本打包进去了 。包括RedHat Linux 6.0以上版本,还有中文化的Turbo Linux等等 。它也越来越被普遍的应用于UNIX系统编程.
go语言支持开发桌面级应用吗?go 可以开发桌面应用,但并不是很舒适 。
可以使用的GUI库有:
1、goqt,LiteIDE作者出品,Go和QT的绑定,还未发布
2、go.uik,纯Go实现的并发UI工具
3、walk,Windows Application Library Kit
4、gform , Windows GUI framework
目前的话walk用得比较多
不过go的GUI库用起来没有C#、C/C的那么顺手 。
这个问题不久之后应该会有所改善,毕竟用Go开发桌面的需求在不断增加 。
目前我采用的是用go http 做后端,Webkit HTML5 做界面,表现力很好,前端不需要学习新知识,一般的管理类应用都能搞定 。
为什么苹果可以用两种编程语言开发应用?而安卓只能用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语言的支持平台 LiteIDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),由QT编写 。
LiteIDE主要特点:支持主流操作系统
Windows
Linux
MacOS XGo编译环境管理和切换
管理和切换多个Go编译环境
支持Go语言交叉编译与Go标准一致的项目管理方式
基于GOPATH的包浏览器
基于GOPATH的编译系统
基于GOPATH的Api文档检索Go语言的编辑支持
类浏览器和大纲显示
Gocode(代码自动完成工具)的完美支持
Go语言文档查看和Api快速检索
代码表达式信息显示F1
源代码定义跳转支持F2
Gdb断点和调试支持
gofmt自动格式化支持其他特征
支持多国语言界面显示
完全插件体系结构
支持编辑器配色方案
基于Kate的语法显示支持
基于全文的单词自动完成
支持键盘快捷键绑定方案
Markdown文档编辑支持
实时预览和同步显示
自定义CSS显示
可导出HTML和PDF文档
批量转换/合并为HTML/PDF文档Sublime Text 2(以下简称Sublime)GoSublimegocodeMarGo的组合 。
其优点有:自动化提示代码 。保存的时候自动格式化代码 , 让您编写的代码更加美观 , 符合Go的标准 。支持项目管理支持语法高亮熟悉Java的读者应该对于idea不陌生,idea是通过一个插件来支持go语言的高亮语法,代码提示和重构实现 。
如何配置go语言集成开发环境 vim【gtk支持go语言吗 gtk support is not compiled in ettercap】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 -p0vimgdb-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
vimPluginInstallqall
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 BufWritePreFmt
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
vimPluginInstallqall
写一个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
vimPluginInstallqall
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的团队也自己造个轮子gtk支持go语言吗,专门用了自动bind工具去将go bind到最新的gtk上,儿网上其他形形色色的gogtk差不多都是手动绑定 。
当然也有相关的项目叫linuxdeepin,简直是金光闪闪 。
第二个有个出名的项目叫做liteide(goqt),goqml也有个知名度还差不多的项目limetext,就是go写的sublime的开源版本 。
第三个有一个唯一的好处gtk支持go语言吗:原生 。但是坏处就是不好用,甚至算不上能用,官方的例子都不多(就两三个),目前我没看到有比较出名使用它构建的项目 。
关于gtk支持go语言吗和gtk support is not compiled in ettercap的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- 隔断电视墙怎么选材料,隔断电视墙一体效果图
- 怎么查苹果手机支付,怎么查苹果手机支付密码
- erp系统的前身是,erp系统的演变过程
- 手机高端cpu是什么,手机cpu高端和低端的差别
- go语言用什么语言实现的,伊朗语言属于什么语言
- ios软件视频播放器,ios软件视频播放器哪个好
- 疯狂碰撞休闲益智游戏手游下载,疯狂碰撞赛车
- net和vb有什么区别 vb和net的关系
- 文艺电影如何营销,文艺电影如何营销出去