Go语言学习
  • README
  • Go 基础
    • go语言介绍
    • go语言主要特性
    • go内置类型和函数
    • init函数和main函数
    • 下划线
    • iota
    • 字符串
    • 数据类型:数组与切片
    • 数据类型:byte、rune与字符串
    • 变量的5种创建方式
    • 数据类型:字典
    • 指针
    • 数据类型:指针
    • 类型断言
    • 流程控制:defer延迟执行
    • 异常机制:panic和recover
    • 函数
    • go依赖管理
    • go中值传递、引用传递、指针传递区别
  • 标准库
    • Go net/http包
  • 数据结构
    • 哈希表
      • 为什么对 map 的 key 或 value 进行取址操作是不允许的
  • Gin
    • gin 快速开始
    • gin-swagger用法
  • Go 进阶
    • Go 指针
    • Go 中的 GC 演变是怎样的?
    • Go 的堆和栈
  • 面向对象
    • make 和 new 的区别
    • new(T) 和 &T{} 有什么区别?
  • 并发编程
    • Channel
    • Go语言 CSP 并发模型
    • GMP 模型原理
      • GMP 模型为什么要有 P ?
    • Go 协程池(goroutine pool)
    • Go语言常见的并发模式
    • Go并发实践:主动停止goroutine
  • 最佳实践
    • 发布Go语言模块
  • 软件包
    • 常用的GoLang包工具
    • Go的UUID生成
    • 现代化的命令行框架Cobra
    • 配置解析神器Viper
    • Go发送邮件gomail
    • Go反射框架Fx
    • NSQ消息队列的使用
    • Go爬虫框架colly
    • grpc-go 的安装和使用
Powered by GitBook
On this page
  • 思想
  • Go语言的主要特征
  • Golang文件名:
  • Go语言声明:
  • go 编译问题
  • go mod模式创建项目一般目录结构

Was this helpful?

  1. Go 基础

go语言主要特性

思想

Less can be more 大道至简,小而蕴真 让事情变得复杂很容易,让事情变得简单才难 深刻的工程文化

Go语言的主要特征

  1. 垃圾自动立即回收。

  2. 丰富的内置类型。

  3. 函数多返回值。

  4. 错误处理。

  5. 匿名函数和闭包。

  6. 类型和接口。

  7. 并发编程。

  8. 反射。

  9. 语言交互性。

Golang文件名:

所有的go源码都是以 ".go" 结尾。

1.1.6. Go语言命名:

1.Go的函数、变量、常量、自定义类型、包(package)的命名方式遵循以下规则:

  1. 首字符可以是任意的Unicode字符或者下划线

  2. 剩余字符可以是Unicode字符、下划线、数字

  3. 字符长度不限

2.Go只有25个关键字

break        default      func         interface    select
case         defer        go           map          struct
chan         else         goto         package      switch
const        fallthrough  if           range        type
continue     for          import       return       var

3.Go还有37个保留字

Constants:    true  false  iota  nil

Types:    int  int8  int16  int32  int64  
    uint  uint8  uint16  uint32  uint64  uintptr
    float32  float64  complex128  complex64
    bool  byte  rune  string  error

Functions:   make  len  cap  new  append  copy  close  delete
       complex  real  imag
       panic  recover

4.可见性:

  1. 声明在函数内部,是函数的本地值,类似private

  2. 声明在函数外部,是对当前包可见(包内所有.go文件都可见)的全局值,类似protect

  3. 声明在函数外部且首字母大写是所有包可见的全局值,类似public

Go语言声明:

有四种主要声明方式:

var(声明变量), const(声明常量), type(声明类型) ,func(声明函数)。

Go的程序是保存在多个.go文件中,文件的第一行就是package XXX声明,用来说明该文件属于哪个包(package),package声明下来就是import声明,再下来是类型,变量,常量,函数的声明。

go 编译问题

golang的编译使用命令 go build , go install;

注意点: 同一个目录中所有的go文件的package声明必须相同,所以main方法要单独放一个文件,否则在eclipse和liteide中都会报错;

go mod模式创建项目一般目录结构

Previousgo语言介绍Nextgo内置类型和函数

Last updated 3 months ago

Was this helpful?

cmd目录用于保存可编译的主程序,即main方法 bin目录用于保存生成的可执行的文件 example为pakage为example的go源文件