Golang基础总结

Golang


Overview

  • 谷歌推出的,开源的,静态强类型,编译型语言。
  • 语法与C相近,但具有Java的垃圾回收功能。
  • 对并发支持较好,适合搭载web服务器。
  • 可以说支持面向对象,也可以说不支持面向对象

特性

  • 自动垃圾回收
  • 函数多返回值
  • 错误处理
  • 匿名函数,闭包
  • 类型和接口
  • 并发编程
  • 反射

环境配置

可以使用go env查看

  • GOROOT

      Golang的安装路径,安装完后,默认存在
    
  • GOPATH

      1. 表示Go语言的工作区
      2. 存在三个目录
      	- bin:存放可执行文件
      	- pkg:存放编译好的库文件
      	- src:存放go的源文件
      3. 可以是一个目录的路径,也可以是多个目录的路径		
    

Struct

  • vendor文件夹

      管理包依赖的方式,将外部依赖,复制到vender目录下,这样在go build时,优先从vender目录寻找。
    

go mod

1.11版本推出的新功能,module,全新的依赖管理。

使用go module可以在任意位置新建项目

  • 常用命令
    • download

        下载模块到本地缓存,具体可以通过命令go env查看,其中环境变量GOCACHE就是缓存的地址,如果该文件夹的内容太大,可以通过命令go clean -cache
      
    • edit

      • 从工具或脚本中编辑go.mod文件
    • graph

      • 打印模块需求图
    • init

      • 在当前目录下初始化新的模块
    • tidy

      • 添加缺失的模块以及移除无用的模块
    • verify

      • 验证依赖项是否达到预期的目的
    • why

      • 解释为什么需要包或模块

Feature

  • 结构体:

      1. 结构体是由一系列相同类型或不同类型的数据构成的集合。
      2. 与C结构体类似,与Java中的类很像
      3. 命名规则:
      	type "结构体名" struct {
      		member definition
      		member definition
      		...
      	}
    
  • & 和 *:

      1. &,取地址符,生成一个指向其操作数的指针(有值)
      2. *,生成一个指针,指向某类型(无值)
    
  • 传参类型

      1. 只有值传递(副本拷贝)
      2. 可以使用“指针”,进行引用传递
    
  • 处理JSON

      1. Marshal:将数据编码成JSON(类似js的stringify())
      2. Unmarshal:将JSON字符串解码到相应结构
    
  • return
    1. 退出函数(函数无返回值)
    2. 返回声明的变量
    3. 指定返回值

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值