1 安装配置与命令

  • GOROOT:Go根目录

  • GOPATH:GO工作目录,其目录下需要建立一下三个子目录

    • bin :存放编译后生成的可执行文件
    • pkg :存放编译后生成的包文件
    • src :存放项目源码
  • 常用GO命令

    • go get:获取远程包(需 提前安装 git或hg)
    • go run:直接运行程序
    • go build:测试编译,检查是否有编译错误
    • go fmt:格式化源码(部分IDE在保存时自动调用)
    • go install:编译包文件并编译整个程序
    • go test:运行测试文件
    • go doc:查看文档
    • godoc -http ":80" :本地启动Go的文档可通过localhost访问

2 基本规则

2.1 Go程序结构

  1. Go程序是通过 package 来组织的,只有 package 名称为 main 的包可以包含 main 函数,一个可执行程序 有且仅有 一个 main 包
  2. import 关键字来导入其它非 main 包
  3. const 关键字来进行常量的定义
  4. 在函数体外部使用 var 关键字来进行全局变量的声明与赋值
  5. type 关键字来进行结构(struct)或接口(interface)的声明
  6. func 关键字来进行函数的声明

2.2 package

  • 导入包之后,就可以使用格式.

    来对包中的函数进行调用
  • 如果导入包之后 未调用 其中的函数或者类型将会报出编译错误
  • 当使用第三方包时,包名可能会非常接近或者相同,此时就可以使用别名来进行区别和调用
  • 省略调用,不建议使用,易混淆,不可以和别名同时使用
import f "fmt"  //别名

import (
. "fmt" //省略调用
) import (
"fmt"
"io"
"net/http"
) //import多个包导入,常量、全局变量和type等都可以这样

2.3 可见性

Go语言中,使用 大小写 来决定该 常量、变量、类型、接口、结构

或函数 是否可以被外部包所调用:

  • 函数名首字母 小写 即为private
  • 函数名首字母 大写 即为public

2.4 Go基本结构

//当前程序包名
package main //导入其他包
import "fmt" //常量的定义
const PI = 3.14 //全局变量的定义
var str string = "Hello World !" //一般类型声明
type newType int //结构的声明
type gopher struct{} //结构的声明
type golang interface{} //main主函数,也是程序的入口
func main(){
fmt.Println(str)
}

最新文章

  1. http学习 1-3 chapter3-报文
  2. Ditto - Windows剪贴板增强小工具,方便复制粘贴多条记录
  3. 最简单删除SQL Server中所有数据的方法
  4. Mysql导入导出工具Mysqldump和Source命令用法详解
  5. ASP.NET MVC3 系列教程 - 部署你的WEB应用到IIS 6.0
  6. 下一个系列学习列表Spring.net+NHibernate+MVC
  7. js遍历集合
  8. LeetCode Search in Rotated Sorted Array 在旋转了的数组中查找
  9. Linux编程---线程
  10. U盘发现器
  11. C#学习笔记-策略模式
  12. bzoj2809 [Apio2012]dispatching(左偏树)
  13. 云原生GIS技术
  14. supersocket 遇到的Failed to initialize 和 log4net用法
  15. django CharField按整形排序
  16. 52.纯 CSS 创作一个小球绕着圆环盘旋的动画
  17. hive 函数
  18. Collection集合 总结笔记
  19. iOS 如何改变搜索取消按钮的值和颜色
  20. HBase 架构与工作原理3 - HBase 读写与删除原理

热门文章

  1. Unix传奇
  2. 笔记本真机安装centos7
  3. bzoj2388(分块 凸包)
  4. Digital Roots—HDU1013 2016-05-06 10:25 85人阅读 评论(0) 收藏
  5. Verilog 99题之001-009
  6. lis nlogn算法
  7. int与String互转
  8. [javascript]jsonp-function 代码段
  9. SQL SERVER的锁机制(三)——概述(锁与事务隔离级别)
  10. 纸壳CMS主题增强,支持主题中加入模板