1 Go语言开发环境搭建详细教程【Go语言教程】

Go语言开发环境搭建【Win、Linux、Mac】

1 SDK下载

  • 官网地址:golang.org,因为一些原因国内可能无法访问。可以使用下面第二个链接。
  • 国内地址访问:https://golang.google.cn/dl或者https://www.golangtc.com/download

在这里插入图片描述
根据自己操作系统版本,下载安装即可,目录尽量选择全英文且没有空格和其他其他特殊字符。

2 环境变量配置[GOPATH、GOROOT]

2.1 Windows下

GOPATH:即默认的workspace路径,在未指定项目路径时使用;
GOROOT:Golang的安装路径

讲解:
在这里插入图片描述

  • 进入环境变量配置:此电脑-属性-关于-高级系统设置-环境变量
    在这里插入图片描述
    ①配置GOROOT

新增系统环境变量,变量名为GOROOT,值为:go的安装目录

在这里插入图片描述
②在Path中配置,go的路径,引用上面配置的GOROOT

系统变量-Path-新增-新建的值填写为%GOROOT%\bin

在这里插入图片描述
③配置GOPATH(以后Go项目存放的路径位置)
在这里插入图片描述

2.2 linux下

①确认linux版本

uname -a

在这里插入图片描述

32位系统下载:gox.x.x.linux-386.tar.gz
64位系统下载:gox.x.x.linux-amd64.tar.gz

安装路径不要有中文或特殊符号、空格等

②安装目录建议放在/opt

通过xftp或其他软件将压缩包上传到/opt目录下

#进入对应目录并解压
cd /opt
tar -zxvf go1.9.2.linux-amd64.tar.gz

③配置环境变量

  1. 以root权限编辑/etc/profile文件
# 输入下面命令回车并输入密码后进入root权限【linux输入密码默认不显示,直接输入即可】
su root

在这里插入图片描述

  1. 使命令生效
# 刷新环境变量
source /etc/profile
# 或者注销后重新登录

在这里插入图片描述

Mac系统的上配置Go的开发环境类似于linux

3 检测

不论在windows还是linux下,直接打开终端,输入go version即可:

  • windows:
    在这里插入图片描述
  • linux:
    在这里插入图片描述

4 开发简单go程序

4.1 hello.go程序入门

①文件目录结构
在这里插入图片描述
②开发工具:选择Goland或者VSCode等

此处以VSCode演示

//每个go文件都需要归属于一个包
package main
//下面用到了fmt的Println函数,因此需要导包
import "fmt"
func main(){
    
    
	fmt.Println("hello,go")
}

运行:

//方式一:将hello.go编译为hello.exe文件,然后再直接运行hello.exe
go build hello.go
.\hello.exe

//方式二:直接以脚本方式运行(底层还是编译过了)
go run hello.go

在这里插入图片描述
拓展:指定编译后的文件名称

//将hello.go编译生成myhello.exe文件
go build -o myhello.exe hello.go

4.2 go的执行流程分析

  • 对源码编译后执行
    在这里插入图片描述
  • 直接对源码执行
    在这里插入图片描述
    两种执行方式的区别?
  1. 如果我们先编译生成了可执行文件,那么我们可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行【因为已经编译为了二进制,例如:windows上会直接编译生成.exe文件】
  2. 如果我们是直接go run go的源代码,那么如果要在另一个机器上运行,也需要go开发环境,否则无法执行
  3. 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件会变大很多

5 Go语言开发的注意事项

①注意事项

  1. 源文件以.go为扩展名
  2. Go应用程序入口是main()函数
  3. Go语言严格区分大小写
  4. 每个语句不需要加分号【编译器会自动帮我们添加】,体现了go的简洁性
  5. 不能把多条语句写在同一行,否则会报错【go的编译器是一行一行编译的】
    ,
  6. 定义的变量或import的包没有使用到,代码编译不通过
    在这里插入图片描述
  7. 一个包下面只能有一个main函数入口,就类似于Java的包下面类名不能重复。如果有多个main,可以分开在不同的包下

在这里插入图片描述

②go的转义字符及注释

转义字符:

  • \t:制表符
  • \n:换行符
  • \\:一个\,通常用于文件分隔符
  • \r:回车符
    在这里插入图片描述
  • \":代表一个"

注释:

被注释的内容不会被go编译器所编译

  1. 行注释://
//fmt.Println("jack")
  1. 块注释:/**/
/*
fmt.Println("tom")
fmt.Println("jucy)
*/

注意:块注释不能嵌套

③编程风格及API地址

  • 编程风格
  1. 官方推荐使用行注释
  2. 代码中需要有正确的缩进和空白【可以使用gofmt进行格式化】
    在这里插入图片描述
  3. 运算符两边加空格
  4. 花括号只能在行尾
//花括号只有这一种写法,go开发者认为应当统一风格
func main(){
    
    

}
  1. 一行最多不能超过80个字符
    在这里插入图片描述
  • API地址

官网:https://golang.org

在这里插入图片描述
在这里插入图片描述

  • Golang 官方标准库 API 文档, https://golang.org/pkg 可以查看 Golang 所有包下的函数和使用

Golang中导包原理:
在这里插入图片描述

  • 离线版(大家可以自行百度下载一个API)

参考:https://blog.csdn.net/Mr_XiMu/article/details/124671852

猜你喜欢

转载自blog.csdn.net/weixin_45565886/article/details/130175889