package

  package是最基本的分发单位和工程管理中依赖关系的体现;

  源文件开头需要声明package;

  要生成可执行程序,要有package main 和 main函数;

  同一个路径要只能有一个package

import

  原理:
  import 导入,是按顺序导入;
  导入包中含有其他依赖包,会先导入依赖包,初始化其中的常量和变量,如果有init函数,还会执 行init();

  所有包导入完成后,才会对main中和常量和变量进行初始化,如果main中有init函数,先执行init(),在执行main函数;

  一个包被导入多次,但实际只会导入一次;

  import _ "pkg" 会导入该包,但不会执行整个包,而是执行包中的init函数(简单点说,就是这样做会到时自动执行包的init(),注册包引擎,关于这个包就无需其他操作了);

  import . "pkg" 可以不加包名,直接方法

  别名用法:
  import alias "pkg"

数据类型

  1.  数值类型(整型、浮点型、复数、其他)、字符串类型、布尔类型

  2. 派生类型

      指针类型(Pointer)

      数组类型

      结构化类型(struct)

      Channel类型 (chan) 

      函数类型(func) 

      切片类型(slice)

      借口类型(interface)

      Map类型(map)

  3. 类型零值和类型别名
      类型零值:变量被声明之后的默认值

  不同类型的变量是不能进行运算的

unsafe包

  unsafe 库让 golang 可以像C语言一样操作计算机内存(不推荐使用此包)

  type ArbitraryType int

  type Pointer *ArbitraryType

  func Sizeof(x ArbitraryType) uintptr

  func Offsetof(x ArbitraryType) uintptr

  func Alignof(x ArbitraryType) uintptr

 

常量声明

变量声明

全局变量必须使用var声明 | 特殊变量使用下划线

类型转换

变量可见性规则

  大写字母开头的变量是公有变量,可以被其他包读取

  小写字母开头的变量是私有变量

 

流程语句

 

// 待续