百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

Golang 入门系列(三)打好基本功: Golang 语法基础!

toyiye 2024-06-27 01:06 31 浏览 0 评论

前面总结了我们刚开始学习golang时可能会遇到的坑,要注意那些问题,不了解的同学,可以请查看前面的文章。学习任何一门语言了解它的语法是最关键的,而且golang和其他面向对象的语言的语法还不太一样。所以接下来就来说一说Go语言的基础语法知识。

1. Go 程序的基本结构

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

	package main // 定义包名,package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。

import "fmt" // 导入需要使用的包(的函数,或其他元素)

func main() { // 程序的入口函数。main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数。
  fmt.Println("Hello, World!")
}


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)

  函数(func)

  结构体(struct)

  接口(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. 运算符 

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(),自定义错误类型)

func Divide(a, b float64) (result float64, err error) {
    if b == 0 {
        result = 0.0
        err = errors.New("runtime error: divide by zero")
        return
    } else {
        result = a / b
        err = nil
    }
    return
}

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

    var user = os.Getenv("USER")
    if user == "" {
        panic("The USER environment variable is not set.")
    }

  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的文件,生成并运行测试用的可执行文件。


最后

总结一下,。后面我会详细的介绍golang的语法。


推荐阅读:

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码