3、Go语言基础结构解析

本系列文章均为学习过程当中记录的笔记,欢迎和我一块儿来学习Go语言。

全文使用环境以下:

  • Go语言版本:1.14
  • 操做系统:deepin
  • 使用工具:Goland开发工具

本篇咱们进行学习Go语言项目基础结构

咱们在上一节时编写了第一个Hello World
image.png
这块代码咱们从上向下来看。
第一行是package main,这里是指的包的概念,在go语言中包是表明这个文件夹中全部go代码的目录,这里是main,在Go语言程序中一个可独立执行的程序必须须要有mian这个包,即package main是咱们整个程序的入口。而咱们平常编写时会新建各类各样用途的go文件,咱们一般使用不一样的文件夹来区分,这时不一样文件夹中的文件咱们统一采用一种包的命名方式,便于咱们在其余地方使用。详细使用方式将在后续的代码编写过程当中详细讲解。git

包的命名规范

在咱们平常编写包名时应使用简洁、富有含义的名称,例如咱们这是一个工具包,则使用package utilgithub

导入其余包

继续向下看代码,咱们能够看到golang

import (
	"fmt"
	"net/http"
)

这里是导入操做,导入咱们在当前go文件中使用的全部包,在go语言初期时咱们在导入这些包时须要先将其下载到本地,而如今1.14版本中module功能已基本稳定,咱们能够在这里直接使用。有一些跑题,module后续咱们也会讲到。
回归主题,在import的括号中咱们看到里面包含了两个包,第一个fmt包是咱们使用的打印包,属于官方包,第二个是net/http包,是用于http服务器搭建使用的包,一样属于官方包。固然咱们还会使用一些其余第三方的包,例如:“"google.golang.org/grpc"”
这里咱们是导入两个以上的包,咱们须要使用(),在咱们平常使用时,若是只导入一个包,咱们能够直接写服务器

import "fmt"

注意,在Go语言语法中,括号永远都是在代码后面,而不能换行到新的一行,若是括号在下面,在程序编译时Go会在括号上面的一行代码结尾处追加英文分号“;”做为本行结束。函数

函数声明

下面进入咱们的main函数,这里是main包的主入口函数,在咱们启动Go语言编写的一个二进制程序时程序会根据main函数进行程序执行,这里须要讲一下,每一个go文件中还有一个init函数,这个函数是第一个执行的,后续在编写示例时咱们会讲到。工具

func main() {
	//打印
	fmt.Println("Hello World")
	/*搭建一个http服务,实现基础打印*/
	//指定当前目录为根目录
	http.Handle("/", http.FileServer(http.Dir(".")))
	http.HandleFunc("/hello", helloWorld)
	//使用端口8080做为服务监控端口
	http.ListenAndServe(":8080", nil)
}

每一个函数使用 func 关键词来声明当前是一个函数,mian是函数名,()是参数,{}中的内容是函数体。
函数命名时须要注意,若是首字母是大写,则它是一个公共函数,即他人均可以使用,若是是一个小写,则表示是一个私有函数,只能在本包中使用。
上面函数体中咱们能够看到fmt.Println("Hello World")做为打印语句,使用了fmt包中的Println函数,参数是"Hello World",首先咱们上面引入了fmt包,这里在使用时就须要fmt开头,让程序知道咱们要使用这个包了,Println函数的P首字母是大写,所以咱们这里能够直接使用到这个函数,而查看源码得知,参数能够任意多个,咱们这里传入了一个参数,执行后,控制台打印了Hello World。
这时有小伙伴问了,我不想用fmt开头怎么办?
Go语言已经设计好了,若是咱们使用其余名字时只须要在引入包时起一个别名便可学习

import aa "fmt"

这里咱们就可使用aa.Println("Hello World")做为打印语句
注意:在go语言中严格要求了import的导入行为,若是咱们在go文件中没有使用到的包被导入了,默认是会报错的,所以咱们仍是使用什么导入什么吧,别贪图一时方便各类导入。开发工具

在包的导入这里还有不少其余的使用方式,咱们会再后续的代码编写过程当中逐渐进行使用,具体使用时再作详细讲解。google

本次基础结构解析咱们先讲到这里,下一篇咱们会讲解在Go语言中的数据类型都有哪些。操作系统

本文声明:

知识共享许可协议
本做品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

文章中凡是涉及的代码均在Gitee与GitHub上了,有须要的能够经过下面的地址下载。

相关文章
相关标签/搜索