Golang 入门系列(三)Go语言基础知识汇总

mb5fe94b3e552d9 · · 923 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

前面已经了 Go 环境的配置和初学Go时,容易遇到的坑,大家可以请查看前面的文章 https://www.cnblogs.com/zhangweizhong/category/1275863.html,

在这篇文章中,下面为初学者汇总下Go语言基础知识:

 

1. Go 程序的基本结构

下面是一个Go 程序的基本结构,包含(包声明,引入包,函数等)

图片

package main    
    fmt.Println(

图片

 

2. 数据类型

go内建基本数据类型包括基本数据类型和高级数据类型

1. 基本数据类型
  布尔类型(bool)

  数值类型

    整数类型(byte,rune,int/uint,int8/uint8,int16/uint16,int32/uint32,int64/uint64)
    浮点类型(float32,float64)
    复数类型(complex64,complex128)

  字符串类型
    string Go的字符串是由单个字节连接起来的。使用UTF-8编码标识Unicode文本。

2. 高级数据类型

  数组(array)
  切片(slice)
  字典(map)
  通道(channel)
  函数(function)
  结构体(function)
  接口(interface)
  指针(*Xxx,Pointer,uintptr)

如果按照底层结构划分,值类型包括(所有基本数据类型,数组,结构体),引用类型包括(slice,map,channel,function,interface,指针)


3. 变量&常量

  1. 变量名由字母、数字、下划线组成,其中首个字母不能为数字,例:var name string
  2. 声明
    a.指定变量类型,声明后若不赋值,使用默认值。
      var name string
      name = "李四"

    b.根据值自行判定变量类型。
      var name = "李四"

    c.简短形式,省略var, 注意 
      age := 10

  注意
    (:=)是使用变量的首选形式
    (:=)只能被用在函数体内,而不可以用于全局变量的声明与赋值。
    (:=)左侧的变量不应该是已经声明过的,否则会导致编译错误。


  3. 常量的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。
    1. 常量声明:const b string = "abc"
    2. iota,特殊常量
      const (
        a = iota
        b
        c
      )

    1. 代表连续的,无类型的整数常量,
    2. 以const开始的常量声明语句为单位,
    3. 从0开始,没赋给一个常量就递增一次
    4. 一旦跨越以const开始的常量声明语句就归0

4. 运算符
  1. 算术运算符,a + b ,包括(+,-,*,/,%,++,--)
  2. 关系运算符,返回True或False ,a == b ,包括(==,!=,>,<,>=,<=)
  3. 逻辑运算符,返回True或False ,包括(&&,||,!)
  4. 地址运算符 

    & : 返回变量存储地址 (&originalValue)

    * :指针变量 (*pointerValue)

  5. 接收运算符,用于接收通道的数据或者给将数据加入通道(intChan<-1, <-intChan)


5. 错误处理

  1. error 接口,(errors.New(value),fmt.Error(),自定义错误类型)

图片

 b == = = errors.New(= a /=

图片


  2. panic 函数,panic(value) 与error 接口联用,

     user = os.Getenv( user ==

 

  3. recover 函数,与defer语句联用,

图片

func TestB() (err error) {
    defer func() { //在发生异常时,设置恢复
        if x := recover(); x != nil {
            err = fmt.Errorf("internal error: %v", x)
        }
    }()

    panic("func TestB(): panic")
}

图片

 

6. Go 基本命令

  go build 命令主要是用于测试编译。在包的编译过程中,若有必要,会同时编译与之相关联的包。

    go run hello.go

  go get 命令主要是用来动态获取远程代码包的。

    go get github.com/go-sql-driver/mysql

  go run 命令主要用于编译并运行Go程序。

    go run hello.go

  go test 命令,会自动读取源码目录下面名为*_test.go的文件,生成并运行测试用的可执行文件。



有疑问加站长微信联系(非本文作者)

本文来自:51CTO博客

感谢作者:mb5fe94b3e552d9

查看原文:Golang 入门系列(三)Go语言基础知识汇总

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

923 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传