为什么苹果可以用两种编程语言开发应用?而安卓只能用JAVA。不能用其他呢?Go语言不支持安卓?

Python013

为什么苹果可以用两种编程语言开发应用?而安卓只能用JAVA。不能用其他呢?Go语言不支持安卓?,第1张

苹果公司允许开发人员使用 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 语言开发应用,但请注意,目前这些项目可能仍然处于试验阶段,不保证稳定性和性能。

苹果电脑一体机都能装的软件,需带Mac版的软件才可以,常用软件如下:

阿里旺旺Mac版是由淘宝网专为Mac用户打造的一款淘宝购物即时通讯软件,阿里旺旺for Mac的设计是传统与创新的交融,我们追求轻量化的同时力求使用户体验达到最佳,减少不必要的元素,打破传统,让阿里旺旺更纯粹。在交互体验和视觉风格上与Mac更加协调,让用户感觉更亲密熟悉,就像是久而未见的老友,怀念、欣喜、感动。

itools for mac专业版是苹果电脑上最强大易用的苹果管理工具,完全可以代替itunes;itools界面风格原生态,操作更加便利。使用itoos mac专业版,软件、游戏、铃声、壁纸等海量资源高速下载,玩转苹果系统。

Go语言是罗布·派克(Rob Pike),罗伯特·格瑞史莫(Robert Griesemer),及肯·汤普逊于2007年9月开始设计的编程语言,稍后Ian Lance Taylor, Russ Cox加入项目中。Go语言是基于Inferno操作系统所开发的。Go语言于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后追加Windows系统下的实现。

QQ五笔输入法Mac版在QQ拼音输入法的基础之上的同时结合了五笔输入法的自身特点,提高了输入法的便捷性、稳定性和兼容性,实现各个输入风格之间的平滑切换,同时QQ五笔引入分类词库、网络同步、皮肤等个性化功能,让五笔用户在输入中不但感觉更流畅、打字效率更高,界面也更漂亮、更容易享受书写的乐趣。

爱奇艺影音Mac版是一款专注视频播放的客户端软件,您可运行爱奇艺影音,在线享受奇艺网站内全部高清正版视频。无内购,无广告,包含爱奇艺全部免费视频内容,Retina及OS X 10.8适配。系统版本为10.7或更高时可使用全部功能,OS X 10.6可能会碰到部分已知兼容性问题。爱奇艺视频是专为OS X平台量身打造的在线视频软件 , 由爱奇艺官方开发 , 包含爱奇艺网站免费高清正版视频。免费下载安装 , 免费观看高清正版影视。

IE for Mac是微软Windows系统自带的浏览器,也是目前使用人数最多的浏览器。此版本专为Mac用户开发。很多熟悉Windows IE浏览器的用户,在使用Mac OS系统的Safari浏览器会觉得使用不方便。IE for Mac在Mac OS中运行得更加快速流畅!Internet Explorer 拥有更大的选项卡、更简单的控件和更流畅的手势响应,带来完美触控体验。重新认识你所知的互联网,从游戏到娱乐, Internet Explorer 都创造了全新的网络体验,为您带来快速、优美且完美适合触控的全新感受。

1、下载go的zip文件。并且一定要把文件解压到c:\go目录下。

2、配置windows的高级环境变量。包括:GOROOT、GOOS、GOBIN、GOARCH。并且在path变量里面把c:\go\bin加入。以便可以在命令行直接运行go命令。

举例:我的机器:

GOPATH= c:\goc:\go\srcF:\workspace\goSample01

GOBIN=c:\go\binF:\workspace\goSample01\bin

其中,c:\go是go的安装路径;

F:\workspace\goSample01是我写的go语言项目的工程目录;

F:\workspace\goSample01\bin是go语言项目的工程目录下的可执行文件路径

3、在完成环境变量配置后,打开一个命令行窗口,直接输入go,然后回车,看看是否出现go的帮助信息。如果出现,那么go的基本环境就OK了。

注意:这个基本环境不包含开发工具,也不能直接编译带C代码的go程序。

4、

(可选)为了支持Import远程包,最好装个gomingw。下载地址:http://code.google.com/p/gomingw

/downloads/list。如果下的是压缩包,请把它解压到C盘。例如,C:\gowin-env。里面有个Console.bat是以后使用go

get的环境。举例:有个文件a.go,里面import(

"fmt"

"github.com/astaxie/beedb"

_ "github.com/ziutek/mymysql/godrv"

为了编译该a.go文件,需要启动Console.bat,然后在该命令行窗口,进入c:\go\src目录下,执行go getgithub.com/astaxie/beedb

Go get github.com/ziutek/mymysql/godrv .

Go会自动下载该远程包并编译和安装这些包。

配置goclipse(可选)

(如果不喜欢eclipse开发工具,请跳过这个配置。)

1、下载并安装goclipse插件。Goclipse是go语言for eclipse的插件,下载地址:http://code.google.com/p/goclipse/

2、启动eclipse并创建go项目。然后写个最简单的helloworld.go文件,并运行。代码如下:

packagemainimport"fmt"func main(){fmt.Printf("hello, world")}

配置gocode(可选)

如果不需要go语法辅助和eclipse里面的(按ALT+/)弹出go语言自动辅助功能,请跳过这个配置。

1、下载gocode的zip文件,解压后放在go的bin目录下。

2、下载并安装Git软件。并且在path里面配置git的执行路径。例如c:\git\bin

3、在命令行执行:go build .\gocode。如果一切正常,那么将会编译生成一个gocode.exe文件在go的bin目录下。如果编译失败,那么就转第4步。

4、如果第3步直接编译gocode源文件成功,那就直接到第5步。否则,就需要通过git下载gocode源文件,然后再编译。在命令行执行:go get -u github.com/nsf/gocode 。就会生成gocode.exe文件。

5、在goclipse插件里面指定gocode的路径。就可以在elcipse里面调用gocode来帮助写编码了。

从开发工具这块看,go语言还不够成熟,开发工具都还不完善,有待改进。

下载go-tour教程源代码(可选)

Google有个在线运行go语言的教程(http://tour.golang.org/#2),很不错。支持在web上直接运行大部分的go程序,想了解这个教程的源代码的朋友可以通过以下方式获取。如果没兴趣,可以跳过这个步骤。

1、下载安装Mercurial软件。

2、在命令行下输入:

hg clone

作为测试用的。如果把http改成https协议,下载就会失败。搞不懂。

编译带调用C代码的go文件(可选)

1、为了在windows下编译带C代码的go程序,你首先需要下载并安装MinGW或者Cygwin。

2、首选安装MinGW。在安装MinGW之后,记得要把MinGW安装目录\bin路径设置在path环境变量里面,以便能在dos窗口下直接调用gcc。

3、下载一个gowin-env。下载地址:gowin-env。下载后解压到某个目录下,例如:C:\gowin-env. 然后,编辑go-env.bat。配置相关的go参数。例如,我的配置是:

set GOARCH=386

set GOOS=windows

set GOROOT=c:\go

set GOBIN=%GOROOT%\bin

set GOPATH=%GOROOT%F:\workspace\goSample01

设置好go-env.bat后,就可以点击Console.bat来启动编译和运行窗口。

4、编写一个带C代码的go程序。例如,testc.go

5、编译

例如:

go build -compiler gccgo test_c.go

运行调用C代码的go文件(可选)

1、testc.go.

创建rand目录,然后在rand里面创建testc.go. 代码如下:

package rand

/*

//

#include <stdio.h>

*/

import "C"

func PrintHello() {

C.puts(C.CString("Hello, world\n"))

}

2、a.go

在rand下创建a.go.代码如下:

package rand

import "fmt"

func SayHello(name string){

fmt.Println(name)

}

3、test_import.go

在rand的上一级创建test_import.go。代码如下:

package main

import "./rand"

func main(){

rand.SayHello("tom")

rand.PrintHello()

}

4、运行test_import.go

go run test_import.go

在测试其它几个C代码的时候,发现windows版本的cgo还有些编译问题,同样的代码转移到苹果的XCODE下就没有问题。后来终于发现原因了,原来有些例子是unix平台下的,而在windows平台下,方法名和参数需要做调整。

例如:下面代码在windows下编译报一堆错误。

package rand

/*

#include <stdlib.h>

*/

import "C"

func Random() int {

return int(C.random())

}

func Seed(i int) {

C.srandom(C.uint(i))

}

这里需要把return int(C.random()) 修改为“return int(C.rand())”

C.srandom(C.uint(i))修改为“C.srand(C.uint(i))”编译就OK了。