每天一点GO语言——Linux环境下安装Go语言环境以及编写Go语言程序初体验

每天一点GO语言——Linux环境下安装Go语言环境以及编写Go语言程序初体验

一、安装Go语言环境

[root@localhost opt]# yum -y install wget git

[root@localhost opt]# wget -c https://studygolang.com/dl/golang/go1.10.3.linux-amd64.tar.gz

[root@localhost opt]# tar  -zxvf go1.10.3.linux-amd64.tar.gz

[root@localhost opt]# ls
go  go1.10.3.linux-amd64.tar.gz  nginx-1.16.1  rh  share_Ubuntu18.04

[root@localhost go]# ls
api      blog             doc          lib      PATENTS    robots.txt  VERSION
AUTHORS  CONTRIBUTING.md  favicon.ico  LICENSE  pkg        src
bin      CONTRIBUTORS     hello.go     misc     README.md  test

[root@localhost go]# vim /etc/profile(如果不是所有用户修改~/.bash_profile文件)

#添加下面三行

export GOROOT=/opt/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=~/gopath

#保存退出后重启或source加载一下

二、体验简单的Go语言程序,了解其语言的基本组成结构

经典程序进行实践体验——使用go语言输出hello world

[root@localhost go]# vim hello.go #后缀是go语言程序的标志,和C语言.c文件一样
[root@localhost go]# cat hello.go #go语言程序案例如下:打印hello world
package main

import "fmt"

func main(){
    fmt.Println("hello world!")
}
[root@localhost go]# go run hello.go 
hello world!

文件简析:

1、package main ——定义声明包名(可以类比java来理解go)

​ 必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。

2、import "fmt" ——引入包

​ 告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素),fmt 包实现了格式化 IO(输入/输出)的函数。(本例中下面的println函数)

3、func main() {

}

​ 这是函数体结构,main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(但如果有 init() 函数则会先执行该函数)。例如:

[root@localhost go]# cat h.go 
package main

import "fmt"

func main(){
    fmt.Println("hello world!")
}

func init(){
    fmt.Println("我先执行,其他的等一会")
}

运行 go run h.go结果如下:

我先执行,其他的等一会
hello world!

初学者一定要注意括号对应关系

4、/ 这是我的第一个go程序 /

扫描二维码关注公众号,回复: 10367570 查看本文章

​ 这是注释,为了提高代码的可读性的必要注释,不在程序运行时执行,也可以使用//注释单行

5、fmt.Println("Hello, World!")——将字符串输出到控制台,并在最后自动增加换行字符 \n。使用 fmt.Print("hello, world\n") 可以得到相同的结果。

补充,不了解什么是面向对象语言也可以先了解一下,暂时不需要理解,有个概念就行:当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:G1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 private )。

猜你喜欢

转载自blog.51cto.com/14557673/2483718