零基础golang入门(一)

200 阅读3分钟

最佳的学习方式就是上手实践操作!!!

本文掌握

不需要深入理解,只是对目录结构有个好印象

  • 项目结构

查资料

官网:golang.google.cn/

参考1:项目结构示例

参查2:项目架构思考

参考3:中文golang文档

官网,了解golang语言

(精髓!精髓!精髓!)一般首页都会有个语言的简短介绍。第一次打开官网能记住这一个介绍就可以了

Build fast, reliable, and efficient software at scale(建立快速、可靠、高效的软件)

资料1、资料2,理解项目结构

看的懂的看看,看不懂的粗略带过。下次看到有个印象,可能下次就理解了呢~

资料1,了解下项目结构各目录说明(如下目录结构)。

资料2,扩展思考了下目录结构的意义,及项目结构深层次的理解

系统层级分层:

  1. 表现层:主要是客户端的展示。
  2. 服务层:直接为客户端提供的服务或功能。也是系统所能对外提供的功能。
  3. 领域层:系统内的领域活动。
  4. DAO层:数据访问对象,通过领域实体对象来操作数据库。

其它系统层级分层(了解就好)

  • 模型层( Models )
  • 仓库层( Repository )
  • 用例层(Usecase )
  • 表现层( Delivery )

原则(原则可以记下,可以在开发中做些代码规范):

  1. 上层总是依赖其下层,依赖关系不跨层。
  2. 除表现层外,同一层之间方法不允许相互调用。如果同层发生调用,一定是调用的对外不可见的工具方法。
  3. 从服务层出发进行设计,根据系统需要提供的功能进行分析,确定 Service 接口中的方法。

项目结构

再网上找了些资料整理了一份项目结构

├── gin                             为项目根目录
│ ├── Command                       为命令行执行处理目录
│       └── command.go
│ ├── Conf                          为配置文件目录
│       └── app.ini
│ ├── Router                        为路由目录
│       └── router.go
│ ├── Middlewares                   为中间件目录
│       └── corsMiddleware.go
│ ├── Controllers                   为控制器目录(MVC)
│       └── testController.go
│ ├── Services                      为服务层目录,这里把DAO逻辑也写入其中,如果分开也可以
│       └── testService.go
│ ├── Models                        为模型目录
│       └── testModel.go
│ ├── Databases                     为数据库初始化目录
│       └── mysql.go
│ ├── Sessions                      为session初始化目录
│       └── session.go
│ ├── Utils                         为util目录
│       └── util.go
└── main.go                         为入口文件
​

第一次使用的简化版目录,以下 Databases 目录也可以先不使用,不调用数据库

├── gin                             为项目根目录
│ ├── Router                        为路由目录
│       └── router.go
│ ├── Services                      为服务层目录,这里把DAO逻辑也写入其中,如果分开也可以
│       └── testService.go
│ ├── Models                        为模型目录
│       └── testModel.go
│ ├── Databases                     为数据库初始化目录
│       └── mysql.go
│ ├── Utils                         为 util 目录
│       └── util.go
└── main.go                         为入口文件

整理出上面这个简化版的项目结构,初步学习结束。

看不懂也没关系,只要按上面这个简化版的目录结构创建下文件夹,这篇的学习也就这些。

资料3(go基础学习)

阅读资料3的golang中文文档,了解开发环境配置、GO语言基础、框架beego、框架gin等。

第一次查看建议先粗略看下左边的菜单目录,对整体的内容有个了解。然后开始从上到下的学习。

到这里~

根据资料3的介绍,开始开发环境搭建,做第一个Go程序,你入门了。

第一个go程序:

main.go 文件

package main  // 声明 main 包,表明当前是一个可执行程序import "fmt"  // 导入内置 fmt func main(){  // main函数,是程序执行的入口
    fmt.Println("Hello World!")  // 在终端打印 Hello World!
}

执行

go run main.go

学习步骤

1、项目结构了解

2、开发环境搭建,第一个Go程序的编写

3、main.go 主入口文件介绍,再简单介绍,包的概念、远程包的引用、本地包的调用、结构体的使用

4、针对项目结构,按模块学习,大致如下:

main.go -> models -> router -> services

(最后放这个学习步骤,对后面的学习流程做下交代。后面的基础学习都可以查阅资料3)

既然看到这了,未完待续!!!