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(输入/输出)的函数

可以是相对路径也可以是绝对路径,推荐使用绝对路径(起始于工程根目录)

  1. 点操作 我们有时候会看到如下的方式导入包

     import(
      . "fmt"
     )

    这个点操作的含义就是这个包导入之后在你调用这个包的函数时,你可以省略前缀的包名,也就是前面你调

    用的fmt.Println("hello world")可以省略的写成Println("hello world")

  2. 别名操作 别名操作顾名思义我们可以把包命名成另一个我们用起来容易记忆的名字

     import(
      f "fmt"
     )

    别名操作的话调用包函数时前缀变成了我们的前缀,即f.Println("hello world")

  3. _操作 这个操作经常是让很多人费解的一个操作符,请看下面这个import

     import (
       "database/sql"
       _ "github.com/ziutek/mymysql/godrv"
     )

    _操作其实是引入该包,而不直接使用包里面的函数,而是调用了该包里面的init函数

3.3.3 main

main(),是程序运行的入口。

最新文章

  1. Extjs MVC开发模式详解
  2. JAVA之IO文件读写
  3. Java中的Timer和TimerTask在Android中的用法(转)
  4. 图--DFS求连通块
  5. printf("%*s\n", 1, ""); 使用"printf();" 的格式化输出动态制定等宽度输出。
  6. MySQL 高可用MHA安装部署以及故障转移详细资料汇总 转
  7. Oracle数据库之PL/SQL游标
  8. redis 网络流程图 <一>
  9. 代理模式 - OK
  10. 在华为oj的两个月
  11. IO 异常:The Network Adapter could not establish the connection 怎么解决
  12. Lock(三)查看是谁把表给锁了
  13. MDCC2013会议笔记
  14. css中的position(定位)
  15. Spring Boot 2.x以后static下面的静态资源被拦截
  16. Codeforces Round #382 (div2)
  17. python基础之Day23
  18. MySql 在cmd下的学习笔记 —— 有关用户权限的操作(grant)
  19. js获取url参数值,并解决中文乱码
  20. 完整的一次 HTTP 请求响应过程(一)

热门文章

  1. web 项目添加 x86 的dll 引用,模块 DLL c:\WINDOWS\system32\inetsrv\aspnetcore.dll 未能加载。
  2. Python标准库之时间模块time与datatime模块详解
  3. gz、tar、zip、bz2压缩和解压缩命令
  4. python面试的100题(12)
  5. C语言strcmp()函数:比较两个字符串
  6. C++-hihoCode1545-小Hi和小Ho的对弈游戏[树上Nim]
  7. jenkins 集成环境搭建
  8. Linux - Shell - diff
  9. 记录 shell学习过程(3) if 的格式
  10. 220. 存在重复元素 III