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

wx5d8a17c45cb5b · · 632 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

每天一点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程序 /

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

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

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


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

632 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传