• GO语言最常用的语法


     一 ,变量:变量赋值只能在函数内使用,故第三种方式只能在函数内使用,可使用var()同时定义多个变量变量定义 使用var关键字
           var a bool     var a bool = true
    不指定类型直接初始化让编译器选择 var a = "abc"
    使用 “ := "定义变量,可省略var关键字,如 a:="abc"

    二 ,判断

    1,switch和case判断
    switch [变量名]

    {
                case 条件1:
                    处理逻辑
                case 条件2:
                    处理逻辑
                default:
                    处理逻辑
      }

    2,if判断

               if 条件{
                    处理逻辑
                 }else{
                    处理逻辑
                 }


    三, 常量
    定义:const ,常量名无需大写,Go中大写表示public ,例:const a = "acb"
    const + 数值,例如const a = 0 ,a可以与int、float类型的数据直接运算而无需强制类型转换
    枚举类型:(目前使用的不多,之后再补充)
    普通枚举类型,自增值枚举类型


    四 ,条件语句
    switch
    不需要break
    使用fallthrough关键字会无条件执行下一条语句
    switch后可以没有语句或跟多个语句
    if
    条件语句不需要括号
    可以在条件语句中定义变量并赋值,不同语句间用;隔开
    在条件语句中定义的变量作用域只在if语句中
    五 循环语句

    六, 函数
    定义: func func_name(parm ) return_type{}
    go中函数可返回多个值,并可以对多个值进行命名。实际应用中一般返回一个值和一个提示信息(fmt.Error())

    定义函数:
    在go语言中没有class关键字,没有类的概念,go主要是面向函数和面向接口的编程语言。
    语法:[ ]里面的内容为可选项
    func 函数名([参数名] [参数类型]) [函数返回值类型]

                {
                                    函数具体逻辑
                                     [return] [返回的内容]
                  }


    七 ,指针
    一种是类型指针,允许对这个指针类型的数据进行修改。 ​ 传递数据使用使用指针,而无须拷贝数据 ​ 类型指针不能进行偏移和运算;另一种是切片, 由指向起始元素的原始指针、元素数量和容量组成

    2,从指针获取指针指向的值,

    1,对变量“&”取地址操作后获得这个变量的指针,对指针使用“*”操作,就是指针取值


    八 ,切片(slice)
    slice是数组的抽象,指向原数组的地址,改变slice中的值会改变数组的值,函数传参使用slice可以避免使用数组指针
    len与capacity: len是数组的长度;capacity是数组的容量
    索引不可以超过len;
    每次cap改变的时候指向array内存的指针都在变化。当在使用 append 的时候,如果 cap==len 了这个时候就会新开辟一块更大内存,然后把之前的数据复制过去。

    1. t := make([]int, 5)
    2. t[0] = 1
    3. t[1] = 2
    4. t[3] = 3
    5. fmt.Println(t)
    6. //[1 2 0 3 0]
    7. str1 := "hello world"
    8. fmt.Println(str1[6:])

    九,Map接收时可以接收第二个参数判断key是否存在,除了slice, map, func外所有自建类型都可以作为key,struct不包含上诉类型也可以作为key

             b := make(map[string]string)
             c := make(map[string]int)

    定义两个map,分别是b,c make是开辟内存空间,map关键字,[]里面是key类型,string和int都是value类型

  • 相关阅读:
    史上最强手机SoC,A17 PRO处理器
    BioVendor人Clara细胞蛋白(CC16)Elisa试剂盒检测步骤
    SQL语言入门,语法,语句分类
    微服务开发与实战Day11 - 微服务面试篇
    【算法】spfa算法(spfa判断负环)
    深圳外籍国际学校ib成绩如何?
    Content-Security-Policy(CSP)的内容构成。
    appium如何连接多台设备?教程详解
    HTML5——周技能检测——菜单编辑——2022年11月22日(考完)
    CompletionService使用及原理(源码分析)
  • 原文地址:https://blog.csdn.net/wangjie36/article/details/128055283