教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 go 语言如何跨平台编译

go 语言如何跨平台编译

发布时间:2021-05-21   编辑:jiaochengji.com
教程集为您提供go 语言如何跨平台编译等资源,欢迎您收藏本站,我们将为您提供最新的go 语言如何跨平台编译资源

以evio源码的分析来说明:

我们看到在有些文件的头部有这样一个标识:文件链接:https://github.com/tidwall/evio/blob/master/evio_unix.go

//  build darwin netbsd freebsd openbsd dragonfly linux  它表示的是这个文件只在darwin netbsd openbsd dragonfly linux 平台下编译成功。

而有些文件是这样的标识:文件链接:https://github.com/tidwall/evio/blob/master/evio_other.go

//  build !darwin,!netbsd,!freebsd,!openbsd,!dragonfly,!linux  前面加!表示不支持这个平台的编译

还有一部分文件是没有 build这行注释,由此可知go语言编写的文件,如果想区分不同平台的编译只需在文件的首部加上// build标识,如果不添加那么默认是支持所有平台的编译。

那么支持的平台到底有哪些呢?参考链接:https://github.com/golang/go/blob/master/src/go/build/syslist.go

// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package build

const goosList = "aix android darwin dragonfly freebsd hurd js linux nacl netbsd openbsd plan9 solaris windows zos "
const goarchList = "386 amd64 amd64p32 arm armbe arm64 arm64be ppc64 ppc64le mips mipsle mips64 mips64le mips64p32 mips64p32le ppc riscv riscv64 s390 s390x sparc sparc64 wasm "

可以看到支持的平台和架构还是很多的。

当然还有一种方式是指定当前go的环境变量GOOS and GOARCH

转载于:https://www.cnblogs.com/Spider-spiders/p/10274240.html

到此这篇关于“go 语言如何跨平台编译”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
go 语言如何跨平台编译
龙芯平台构建Go语言环境指南
从零开始学习GO语言-搭建Go语言开发环境-快速开发入门第一个小程序
查看go 安装了哪些包_go语言基础入门(一)
Python是一门怎样的编程语言
Go语言入门教程-介绍和安装
编译型语言和解释型语言的区别
php和c能混编么
Go Base
[GO语言基础] 一.为什么我要学习Golang以及GO语言入门普及

[关闭]
~ ~