GOPATH和GOROOT

本文介绍如何安装指定版本的Go语言,并通过实例详细展示了环境变量的配置过程、应用包的创建与编译步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装指定版本golang

apt-get purge golang* //删除之前安装的文件
add-apt-repository ppa:evarlast/golang-1.8
apt-get update

apt-get install golang-1.8

vim ~/.bashrc
PATH=$PATH:/usr/lib/go-1.8/bin
source ~/.bashrc

环境变量

  • GOROOT golang安装路径 包含golang源码和它们的二进制文件
  • GOPATH 工作目录

查看安装之后的环境变量

root@ubuntu:~# go env
GOPATH=""
GOROOT="/usr/lib/go-1.6"

设置环境变量

mkdir -p /home/Projects/Go  //创建工作目录

vim ~/.bashrc               //编辑此文件 并添加如下代码

GOPATH=/Home/Projects/Go
export GOPATH
PATH=$PATH:$GOPATH/bin # Add GOPATH/bin to PATH for scripting

source ~/.bashrc            //生效配置

再次查看环境变量

root@ubuntu:~# go env
GOPATH="/Home/Projects/Go"
GOROOT="/usr/lib/go-1.6"

创建自己的应用包

mkdir -p $GOPATH/src/Hello //创建文件夹
cd $GOPATH/src/Hello    //进入到目录
vim Hello.go            //创建hello文件

package Hello
import "fmt"
func Say(){
    fmt.Println("hello world")
}
  • 这里需要大写

编译应用

  • 任意目录执行 go install + 包名称
  • 包目录下执行 go install
编译之前的目录
root@ubuntu:/Home/Projects/Go# tree
.
└── src
    └── Hello
        └── Hello.go
编译一个不存在的包
root@ubuntu:/home/Projects/Go/src/hello# go build test
can't load package: package test: cannot find package "test" in any of:
    /usr/lib/go-1.8/src/test (from $GOROOT)
    /Home/Projects/Go/src/test (from $GOPATH)
  • 这里可以看到默认会从GOROOT和GOPATH 找相对应的包
编译
go build Hello
查看编译后的目录
root@ubuntu:/Home/Projects# tree
.
└── Go
    ├── pkg
    │   └── linux_amd64
    │       └── Hello.a
    └── src
        └── Hello
            └── Hello.go

5 directories, 2 files
  • 这里可以看到有一个pkg目录,下面有一个hello.a文件
创建主文件并引用刚才创建的包文件
mkdir main
vim main.go

package main

import "Hello"

func main(){
   Hello.Say(); 
}
编译程序并查看
go build

root@ubuntu:/Home/Projects/Go# tree
.
├── pkg
│   └── linux_amd64
│       └── Hello.a
└── src
    ├── Hello
    │   └── Hello.go
    └── main
        ├── main
        └── main.go   
        
  • 这里多了一个main文件夹就是可执行文件
执行可执行文件
root@ubuntu:/Home/Projects/Go/src/main# ./main 
hello world
安装应用并查看
root@ubuntu:/Home/Projects/Go/src/main# go install

root@ubuntu:/Home/Projects/Go# tree
.
├── bin
│   └── main
├── pkg
│   └── linux_amd64
│       └── Hello.a
└── src
    ├── Hello
    │   └── Hello.go
    └── main
        └── main.go
  • 可以看到 多了一个bin目录 且目录下面有一个main文件
执行应用
root@ubuntu:/# main
hello world

转载于:https://www.cnblogs.com/alin-qu/p/8541197.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值