Warning: Undefined array key "custom_message" in /www/wwwroot/bbs.aaronyang.cc/wp-content/plugins/wpcopyrights/index.php on line 105

介绍和安装

介绍和安装

简介:本课程非常重要。
demo示例:点我下载>>>

下一节:第二篇 Hello World

什么是Golang

Go也被称为Golang,它是一种开源的,由Google创建的编译和静态类型编程语言。

Golang的主要重点是使高度可用和可扩展的网络应用程序的开发变得简单和容易。

为什么选择Golang

为什么你会选择Golang作为你的服务端编程语言,当有大量的其他语言,如python,ruby,nodejs ……可以完成同样的工作。

选择Go时的一些优点

并发是语言的固有部分。因此编写多线程程序是一块蛋糕。这是通过Goroutines和渠道实现的,我们将在稍后的教程中讨论。

Golang是一种编译语言。源代码被编译为本机二进制文件。解释型语言(如用于nodejs的JavaScript)缺少这一点。

语言规范非常简单。整个规范适合一个页面,你甚至可以用它来编写你自己的编译器:)

go编译器支持静态链接。所有go代码都可以静态链接到一个大型的二进制文件中,并且可以轻松部署到云服务器中,而无需担心依赖关系。

安装

Golang在所有三种平台的Mac,Windows和Linux上均受支持。您可以从https://golang.org/dl/下载相应平台的二进制文件

苹果系统

https://golang.org/dl/ 下载OS X安装程序。双击即可开始安装。按照提示进行操作,这应该将Golang安装在 /usr/local/go中,并且还将文件夹/usr/local/go/bin添加到PATH环境变量中。

Windows 系统

https://golang.org/dl/下载MSI安装程序。双击开始安装并按照提示进行操作。这将在位置c:\ Go中安装Golang,并将目录c:\ Go \ bin添加到您的路径环境变量中。

Linux 系统

https://golang.org/dl/下载tar文件并将其解压缩到/ /usr/local/ 。将/usr/local/go/bin添加到PATH环境变量中。这应该安装在Linux中。

环境配置

linux

以linux系统为例

1.下载安装包 or 直接安装

https://go.dev/dl/
file

# centos 下可以直接安装,但是版本不一定是最新的
yum install golang

2.解压至 /usr/local目录

将下载的二进制包解压至 /usr/local目录

# 需要root权限才可以操作/usr目录
tar vxf go1.22.2.linux-amd64.tar.gz -C /usr/local/

3.配置环境

profile末尾追加变量

vi /etc/profile

export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
export TMOUT=1800
export GO111MODULE=on
export GOPROXY=https://goproxy.io,direct
export GOROOT=/usr/local/go
export GOPATH=/data/go/gopath # 此处应为实际的go开发目录,以自己电脑实际为准
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

4.使配置生效

source /etc/profile

5.检查go是否可用

go version
go env
go

拓展

go install && go build的区别

├── myapp
│   └── test.go
└── mypkg
    └── hello.go

hello.go

package mypkg

func Hello() string {
    return "hello"
}

test.go

package main

import (
    "fmt"
    "mypkg"
)

func main() {
    fmt.Println(mypkg.Hello())
}

cd 到 mypkg目录下

  • go build 无效果
  • go install , 在目录 $GOPATH/pkg/$GOOS_$GOARCH下生成mypkg.a

cd 到 myapp目录下

  • go build 在当前目录得到可执行文件 myapp
  • go build test,go 在当前目录得到可执行文件 test
  • go install 在目录 $GOPATH/bin下生成可执行文件myapp
  • go install test.go 在目录 $GOPATH/bin下生成可执行文件test

go build在当前目录下编译生成可执行文件,并且调用所有引用包的源码,重新编译,而不是直接使用pkg里的编译后文件,如果在$GOROOT与$GOPATH下没有找到import引入包的项目源码,就会报错。在本demo里,main.go中import引入了"mypkg"包,如果我删除$GOPATH/src/mypkg源码,执行go build指令,会报错。

go install编译源代码,如果为可执行文件(package "main"且包含main方法),则会编译生成可执行文件到$GOPATH/bin目录下;可执行文件import引入的其他包,就会被编译到$GOPATH/pkg/$GOOS_$GOARCH目录下。

go install也可以完成类似go build的功能,区别在于go install会生成二进制文件到$GOPATH/pkg/$GOOS_$GOARCH目录下(这个二进制文件对于我们并没什么意义),但go install会把可执行文件自动生成到$GOBIN目录下

总结:

相同点
都能生成可执行文件

不同点
go build 不能生成包文件, go install 可以生成包文件
go build 生成可执行文件在当前目录下, go install 生成可执行文件在bin目录下($GOPATH/bin)
go build 经常用于编译测试.go install主要用于生产库和工具.

——补充——

go build : 编译出可执行文件
go install : go build + 把编译后的可执行文件放到GOPATH/bin目录下
go get : git clone + go install

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/%e4%bb%8b%e7%bb%8d%e5%92%8c%e5%ae%89%e8%a3%85/

(1)
AuroraAurora站点维系者
上一篇 2023年 12月 5日 下午6:10
下一篇 2023年 12月 6日 下午12:46

相关推荐

  • rev

    文章目录rev补充说明语法参数实例 rev 将文件内容以字符为单位反序输出 补充说明 rev命令 将文件中的每行内容以字符为单位反序输出,即第一个字符最后输出,最后一个字符最先输出…

    入门教程 2024年 3月 4日
  • as

    文章目录as补充说明语法选项参数 as 汇编语言编译器 补充说明 as命令 GNU组织推出的一款汇编语言编译器,它支持多种不同类型的处理器。 语法 as(选项)(参数) 选项 -a…

    入门教程 2023年 12月 6日
  • HTTP 消息结构

    HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。 一个HTTP客户端是一个应用程序(Web浏览器或其他任何客户端),通…

    2023年 5月 14日
  • Java 继承

    文章目录继承的概念生活中的继承:类的继承格式类的继承格式为什么需要继承企鹅类:老鼠类:公共父类:企鹅类:老鼠类:继承类型继承的特性继承关键字extends关键字 继承的概念 继承是…

    2023年 3月 9日
  • clock

    文章目录clock补充说明语法选项实例 clock 用于调整 RTC 时间 补充说明 clock命令用于调整 RTC 时间。 RTC 是电脑内建的硬件时间,执行这项指令可以显示现在…

    入门教程 2023年 12月 7日
  • HTTP 状态码

    当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含 HTTP 状态码的信息头(server header)…

    2023年 5月 14日
  • ppp-off

    文章目录ppp-off补充说明语法 ppp-off 关闭ppp连线 补充说明 这是Slackware发行版内附的程序,让用户切断PPP的网络连线。 语法 ppp-off

    入门教程 2024年 3月 1日
  • halt

    文章目录halt补充说明语法选项实例 halt 关闭正在运行的Linux操作系统 补充说明 halt命令 用来关闭正在运行的Linux操作系统。halt命令会先检测系统的runle…

    入门教程 2023年 12月 15日
  • IOS iAD整合

    文章目录简介实例步骤输出 简介 IAD是苹果推出的广告平台,它可以帮助开发者从应用程序中获取收入。 实例步骤 创建一个简单的View based application 选择项目文…

    2023年 4月 1日
  • head

    文章目录head概要主要用途选项参数返回值例子注意 head 显示文件的开头部分。 概要 head [OPTION]… [FILE]… 主要用途 在未指定行数时默认显示前1…

    入门教程 2023年 12月 15日

发表回复

登录后才能评论
Translate »