Go语言学习笔记 - PART2 - 基本结构

文件名

  • 小写字母组成,多个小写字母通过下划线_分隔
  • 不包含空格或其他特殊字符

标识符

  • 无效标识符
    • 数字开头
    • Go的关键字
    • 运算符
  • 区分大小写
  • 空白标识符_
    1. 可用于变量声明或赋值
    2. 任何赋值给这个标识符的值都将被抛弃
  • 匿名变量
  • 关键字
  • 预定义标识符
  • 大小写可见性规则
    • 大写字母开头,函数/变量可以被外部包调用,遵循Pascal命名法
    • 小写字母开头,函数/变量只能在内部包调用,遵循驼峰命名法

  • 每个程序都由包组成
  • package main表示一个可独立执行的程序
  • 包使用小写字母命名
  • 是编译的最小单位

如果对一个包进行更改或重新编译,所有引用这个包的客户端都必须全部重新编译

  • 通过import关键字导入包

标准库

Go安装目录下可直接使用的包

  • 存放在$GOROOT/pkg/$GOOS_$GOARCH/目录下

函数

  • func funcName()

注释

跟Java一样

类型转化

  • 必须显式说明,Go不存在隐式的类型转化
valueOfTypeB = typeB(valueOfTypeA)
复制代码

常量

  • 通过const关键字定义,用于存储不会改变的数据
const identifier [type] = value
复制代码
  • 可用于枚举类型
const (
	Unknown = 0
	Female = 1
	Male = 2
)
复制代码
  • iota
const (
	a = iota
	b = iota
	c = iota
)
复制代码

第一个iota等于0,每当iota在新的一行被使用时,它的值都会自动加1,每次遇到const关键字,都会重置为0

变量

  • 变量声明形式
var identifier type
复制代码
  • 声明包级别的全局变量
var (
	HOME = os.Getenv("HOME")
	USER = os.Getenv("USER")
	GOROOT = os.Getenv("GOROOT")
)
复制代码
  • 在函数体内声明局部变量
a := 1
复制代码
  • 变量命名规则 - 驼峰命名法
  • Go编译器可以在编译时根据变量的值,自动推断其类型
  • 值类型,引用类型
  • init函数初始化变量
    • 不能手动调用,在每个包完成初始化后自动执行,执行优先级高于main函数
    • 每个源文件只能包含一个init函数
    • init函数单线程执行,按照包的依赖关系顺序执行
func init() {
   // init() function
}
复制代码

入门教程推荐: github.com/Unknwon/the…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值