Go项目结构
2024-10-08 11:35:19
1. go项目工程结构
配置好工作目录后,就可以编码开发了,在这之前,我们看下go的通用项目结构,这里的结构主要是源代码相应地资源文件存放目录结构。
1.1 gopath目录
gopath目录就是我们存储我们所编写源代码的目录。该目录下往往要有3个子目录:src,bin,pkg。
src ---- 里面每一个子目录,就是一个包。包内是Go的源码文件
pkg ---- 编译后生成的,包的目标文件
bin ---- 生成的可执行文件。
1.2 编写第一个程序
1.3 第一个程序的解释说明
3.2.1 package
在同一个包下面的文件属于同一个工程文件,不用
import
包,可以直接使用在同一个包下面的所有文件的package名,都是一样的
在同一个包下面的文件
package
名都建议设为是该目录名,但也可以不是
3.2.2 import
import "fmt" 告诉 Go 编译器这个程序需要使用 fmt 包的函数,fmt 包实现了格式化 IO(输入/输出)的函数
可以是相对路径也可以是绝对路径,推荐使用绝对路径(起始于工程根目录)
点操作 我们有时候会看到如下的方式导入包
import(
. "fmt"
)这个点操作的含义就是这个包导入之后在你调用这个包的函数时,你可以省略前缀的包名,也就是前面你调
用的
fmt.Println("hello world")
可以省略的写成Println("hello world")
别名操作 别名操作顾名思义我们可以把包命名成另一个我们用起来容易记忆的名字
import(
f "fmt"
)别名操作的话调用包函数时前缀变成了我们的前缀,即
f.Println("hello world")
_操作 这个操作经常是让很多人费解的一个操作符,请看下面这个import
import (
"database/sql"
_ "github.com/ziutek/mymysql/godrv"
)_操作其实是引入该包,而不直接使用包里面的函数,而是调用了该包里面的init函数
3.3.3 main
main(),是程序运行的入口。
最新文章
- Extjs MVC开发模式详解
- JAVA之IO文件读写
- Java中的Timer和TimerTask在Android中的用法(转)
- 图--DFS求连通块
- printf(";%*s\n";, 1, ";";); 使用";printf();"; 的格式化输出动态制定等宽度输出。
- MySQL 高可用MHA安装部署以及故障转移详细资料汇总 转
- Oracle数据库之PL/SQL游标
- redis 网络流程图 <;一>;
- 代理模式 - OK
- 在华为oj的两个月
- IO 异常:The Network Adapter could not establish the connection 怎么解决
- Lock(三)查看是谁把表给锁了
- MDCC2013会议笔记
- css中的position(定位)
- Spring Boot 2.x以后static下面的静态资源被拦截
- Codeforces Round #382 (div2)
- python基础之Day23
- MySql 在cmd下的学习笔记 —— 有关用户权限的操作(grant)
- js获取url参数值,并解决中文乱码
- 完整的一次 HTTP 请求响应过程(一)
热门文章
- web 项目添加 x86 的dll 引用,模块 DLL c:\WINDOWS\system32\inetsrv\aspnetcore.dll 未能加载。
- Python标准库之时间模块time与datatime模块详解
- gz、tar、zip、bz2压缩和解压缩命令
- python面试的100题(12)
- C语言strcmp()函数:比较两个字符串
- C++-hihoCode1545-小Hi和小Ho的对弈游戏[树上Nim]
- jenkins 集成环境搭建
- Linux - Shell - diff
- 记录 shell学习过程(3) if 的格式
- 220. 存在重复元素 III