首页 > 其他分享 >第二章 语法概览

第二章 语法概览

时间:2023-07-13 23:56:18浏览次数:37  
标签:切片 断言 I1 概览 接口 语法 v1 类型 第二章

第二章就是大概讲了一下Go语法的东西,标识符、操作符、类型、流程控制、函数等等。

  1. 任何类型都是实现了空接口
  2. 空标识符用来接收不需要用到的变量
  3. 相比较别的语言,go天生支持高并发,在操作符里面也多了一个跟并发有关的,接收操作:<-
  4. 类型断言:判断一个接口值得实际类型是否为某个实际类型,或者是否实现了某个接口类型。如:v1.(I1) v1 表示一个接口值,I1表示一个接口类型
    • 如果v1是一个非接口值,那么必须在做类型断言之前把它转换成接口值。因为G0中的任何类型都是空接口类型的实现类型,所以一般会这样做:interface{}(v1).(I1)
    • 如果类型断言的结果为否,就意味着该类型断言是失败的。失败的类型断言会引发一个运行时恐慌panic(或称运行时异常),解决方法是:var i1,ok = interface{}(v1).(I1)这里声明并赋值了两个变量,其中ok是布尔类型的变量,它的值体现了类型断言的成败。如果成功,i1就会是经过类型转换后的I1类型的值,否则它将会是I1类型的零值(或称默认值)。
  5. Go有很多预定义类型,这里简单地把它们分为基本类型和高级类型。其中稍微注意下byterune类型,实际就是int8int32

    当然了,int的类型其实会根据cpu的架构而有所不同,这个可以查看官方资料。

  6. 只有基本类型及其别名类型才可以作为常量的类型。注意,G0官方的命名规范中指出常量的命名要用驼峰法。但是,书的作者认为常量的命名应该使用大小写一致的单词,且多个单词时用下划线进行分割。
    (这个我觉得就看具体的公司规范吧;个人开发的话那就更无所谓了)
  7. 数组:数组长度和类型只要有一个不一样就是不同的数组,长度一旦声明就无法改变。
    [...]uint8{192,168,0,1}方括号中的特殊标记...表示需由G0编译器计算该值的元素数量并以此获得其长度。
  8. 切片:与数组不同,切片的类型字面量(如[]string)并不携带长度信息。切片的长度是可变的,且并不是类型的一部分;只要元素类型相同,两个切片的类型就是相同的。此外,一个切片类型的零值总是nil,此零值的长度和容量都为0。

标签:切片,断言,I1,概览,接口,语法,v1,类型,第二章
From: https://www.cnblogs.com/CodeWater404/p/17552517.html

相关文章

  • mysql-语法
    1、引号单引号、双引号,不加引号,反引号,以及任意的圆括号2、结尾(1);一般,在终端交互时,一条sql语句的末尾需要使用;结尾,才会执行,或者enter后跳行等待输入;基于;还可以在一行中写入多条sql语句,相互间隔,依次执行,即使其中一条出现问题,后续sql语句仍然执行对于非终端提交语句,比如代......
  • Prometheus 基础语法
    prometheus语法参考:https://blog.csdn.net/Happy_Sunshine_Boy/article/details/105651016CPU1.计算CPU的使用时间空闲CPU使用时间=node_cpu_seconds_total{mode=“idle”}CPU总共使用时间=node_cpu_seconds_total)2.取一分钟之内的使用增量空闲CPU一分钟内的增量:in......
  • 【计算机教育缺失的一课】01 课程概览与shell
    一、单个程序(1)shell当可视化界面无法实现你想要的功能时,shell是你和计算机交互的主要方式之一。大多数平台也都提供一些形式的shell。在windows上一般是powershell,但也有其他shell可用。有不同类型的shell最常见的是Bash(BourneAgainSHell)(2)terminal......
  • Shell | 函数语法
    系统函数1、basename基本语法:basename[string/pathname][suffix](功能描述:basename命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来。basename可以理解为取路径里的文件名称选项:suffix为后缀,如果suffix被指定了,basename会将pathname或string......
  • 5th-Python基础语法
    ###############################################################################交互式编程交互式编程不需要创建脚本文件,是通过Python解释器的交互模式进来编写代码。linux上你只需要在命令行中输入Python命令即可启动交互式编程,提示窗口如下:$pythonPython2.7.6(defa......
  • Python基础语法-行与缩写.py
     1#!/usr/bin/python 2#coding=UTF-8 3#文件名:Python基础语法-行与缩写.py 4 5''' 6Python与其他语言最大的区别就是,Python的代码块不使用大括号{}来控制类,函数以及其他逻辑判断。python最具特色的就是用缩进来写模块。 7 8缩进的空白数量是可变的......
  • 深入理解计算机系统 笔记——第二章
    第二章信息的表示和处理三种重要的数字表示无符号(unsigned),基于传统的二进制表示法,表示大于等于零的数字补码(two'scomplement),表示有符号整数的最常见的方法浮点数(floatingpoint),表示实数的科学计数法的以2为基数的版本整数的表示虽然只能编码一个相对较小的数值范围,但是......
  • 基本语法
    基本语法新建项目选中空项目文件命名,保存文件位置文件,new,模块模块命名,完成出现src项目结构:SDK选择1.8,语言等级设置为8,应用+完成在src中新建com,在com中新建xin,在xin中写base,scanner等关键字用于定义数据类型的关键字classinterfaceenumbyteshortintlon......
  • 如何实现mysql语法的具体操作步骤
    如何学习和实现MySQL语法作为一名经验丰富的开发者,我将会教会你如何学习和实现MySQL语法。MySQL是一种广泛使用的关系型数据库管理系统,具有强大的功能和易于使用的语法。整体流程下面是学习和实现MySQL语法的整体流程的表格展示:步骤描述1.学习基本的MySQL语法和概念......
  • SQL规范和SQL基本语法
    SQLsql99规范适用oracl,mysql,sqlserversql:structuredquerylanguage结构化查询语句DCL数据库控制语言数据库的用户的授权grant回收权限revokeDDL数据库定义语言:创建修改数据库对象用户表索引聚簇DML数据库的操纵语言数据表的兑现增删改查(也有人称......