当前位置: 首页 > news >正文

GO语法学习

1.变量和常量

        常量: const  变量名  type

        变量: var    变量名  type

2.变量定义

        变量: 

  •         var 语句用于声明一个变量列表,跟函数的参数列表一样,类型在最后
  • var  c,python,java bool

变量的初始化:

        变量声明包含初始值,每个变量对应一个

        如果初始化值已存在,则可以省略类型;变量会从初始值中获得类型

       var i, j  int = 1,2

短变量声明

        在函数中,简洁赋值语句 :=   可在类型明确的地方代替var 声明

        函数外的每个语句都必须在关键词开始(var,func等),因此 := 结构不能再函数外使用。

        c, python, java := true, flase, "no!"

3.类型转换和推到

        类型转换

        表达式T(v) 将值v转换为类型T

                一些关于数值的转换

                var i int = 42

                var f float64 = float64(i)

                var u unit - uint(f)

               更简单的形式:

                i := 42

               f := float64(i)

               u := uint(f)

      类型推导

        在声明一个变量而不指定其类型是,变量的类型由右值推导得出。

        var i int

        j := i

4.数组

  • 相同类型且长度固定连续内存片段
  • 以编号访问每个元素
  • 定义方法   var  变量名[len]  type
  • myArray := [3]int{1,2,3}

5.切片(slice)

  • 切片是对数组一个连续片段的引用
  • 数组定义中不指定长度即为切片
  • 切片再为初始化之前默认为nil,长度为0 

6.Make和New

  • New返回指针地址
  • Make返回第一个元素,可预设内存空间,避免未来的内存拷贝
  • Myslice1 := new([]int)
    Myslice2 := new([]int, 10)

切片常见问题

        1、切片是连续内存并且可以动态扩展,由此引发问题

未完待续!!!!! 

相关文章:

  • 【国庆活动】Tomcat 的优化方式
  • Vue3 reactive响应式原理详解
  • 基于HAL库的STM32的串口DMA发送数据(解决只发送一次数据)及DMA+空闲中断接受数据
  • 【图灵MySQL】SQL底层执行原理详解
  • 【电磁】基于Matlab求解瞬变电磁TEM层状介质正演
  • Unity使用新输入系统InputSystem制作飞机大战Demo(敌人生成管理器UI场景跳转)
  • Python 文件存储:pickle 和 json 库的使用
  • 【推荐收藏】matplotlib 制作的动态条形图其实很好看
  • 计算机组成原理 ------ 存储系统(1)
  • Open3D (C++) 基于投影点密度的建筑物立面提取
  • SpringCloud Alibaba系列 Nacos(一)
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • JS的精髓,事件详解
  • 高等数学(第七版)同济大学 习题8-6 个人解答
  • 【Linux】进程地址空间
  • 0x05 Python数据分析,Anaconda八斩刀
  • Angularjs之国际化
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • eclipse(luna)创建web工程
  • extjs4学习之配置
  • in typeof instanceof ===这些运算符有什么作用
  • Java深入 - 深入理解Java集合
  • Laravel 菜鸟晋级之路
  • Redux系列x:源码分析
  • vue-cli在webpack的配置文件探究
  • windows下mongoDB的环境配置
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 初识MongoDB分片
  • 从setTimeout-setInterval看JS线程
  • 从零开始的无人驾驶 1
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 收藏好这篇,别再只说“数据劫持”了
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • #HarmonyOS:基础语法
  • #Z0458. 树的中心2
  • $(selector).each()和$.each()的区别
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (Note)C++中的继承方式
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (九十四)函数和二维数组
  • (七)Java对象在Hibernate持久化层的状态
  • (转)socket Aio demo
  • (转)人的集合论——移山之道
  • (转)四层和七层负载均衡的区别
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • ***详解账号泄露:全球约1亿用户已泄露
  • .a文件和.so文件
  • .NET Framework与.NET Framework SDK有什么不同?
  • .Net FrameWork总结
  • .NET MVC之AOP
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .NET关于 跳过SSL中遇到的问题
  • /boot 内存空间不够