go - linux go 环境安装部署,并成功运行第一个go程序代码(expected ‘STRING‘, found newline)

    在win10本机上装了一个Ubuntu系统,版本信息如下:

root@N-20HEPF15JN1Q:/home/ubuntu/go# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.1 LTS
Release:        20.04
Codename:       focal

    Go 语言在性能上更接近于 Java 语言,虽然在某些测试用例上不如经过多年优化的 Java 语言,但毕竟 Java 语言已经经历了多年的积累和优化。为什么你应该学习Go语言?https://www.liwenzhou.com/posts/Go/about_golang/

-w1112

     刚好可以在本机的ubuntu上试试安装一下go的环境,运行个Hello World 。

    1、下载go的安装包,以linux安装为例:https://golang.google.cn/dl/go1.15.1.linux-amd64.tar.gz

    2、将下载好的安装包解压到/usr/local/下

tar -zxvf go1.15.1.linux-amd64.tar.gz -C /usr/local  # 解压

    3、配置go的环境变量;当然不添加也可以,只不过每次运行要使用绝对路径/usr/local/go/bin/go,来执行想要执行的命令;

vim /etc/profile

##文件尾部添加
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin

------------------------------

修改/etc/profile后要重启生效

    4、检验;反正我是偷懒了,没有配置环境变量;

root@N-20HEPF15JN1Q:/usr/local/go/bin# ./go version
go version go1.15.1 linux/amd64

-------------------------------------------------------------------------

默认GoPROXY配置是:GOPROXY=https://proxy.golang.org,direct,由于国内访问不到https://proxy.golang.org,所以我们需要换一个PROXY,这里推荐使用https://goproxy.io或https://goproxy.cn。
可以执行下面的命令修改GOPROXY:

go env -w GOPROXY=https://goproxy.cn,direct

    5、编写第一个go的代码,并输出Hello World; 

         新建main.go文件,并编写go的代码,在控制台上输出打印;

root@N-20HEPF15JN1Q:/home/ubuntu/go# cat main.go
package main
import fmt
func main(){
    fmt.Println("hello world !!! ")
}

    编译的时候报错了,

root@N-20HEPF15JN1Q:/home/ubuntu/go# /usr/local/go/bin/go build
main.go:2:11: expected 'STRING', found newline

    Go语言使用了()将引入的包放在一块,当然,也可以写成import "fmt",此外,代码的换行并没有要求;号,回到import语句,引入的包必须要有双引号,否则就会报错。

    修改后:

root@N-20HEPF15JN1Q:/home/ubuntu/go# cat main.go
package main
import ("fmt")
func main(){
    fmt.Println("hello world !!! ")
}

    编译 /usr/local/go/bin/go build 并执行这个main.go;

    

root@N-20HEPF15JN1Q:/home/ubuntu/go# /usr/local/go/bin/go build
root@N-20HEPF15JN1Q:/home/ubuntu/go# ll
total 1988
drwxr-xr-x 1 root   root      4096 Sep  8 10:44 ./
drwxr-xr-x 1 ubuntu ubuntu    4096 Sep  8 10:09 ../
-rwxr-xr-x 1 root   root   2034794 Sep  8 10:45 go*
-rwxr-xr-x 1 root   root        79 Sep  8 10:44 main.go*
root@N-20HEPF15JN1Q:/home/ubuntu/go# ./go
hello world !!!

    6、与java语言的简单对比;

         一个Go的源代码都必须包含Package,表示这个代码文件所属的包,这一点和Java很像,通过Package的使用具体了工程上的依赖。从Google的结果来看,要生成一个可执行的文件,必须要有一个main包和一个main函数,作为整个工程的入口,类似于Java的main方法,但是Java的main方法并不要求一定是main的package。

        

posted @ 2022-01-27 18:35  zhangdaopin  阅读(166)  评论(0编辑  收藏  举报