学习
实践
活动
专区
工具
TVP
写文章

Go 语言进阶--基础概念

本系列文章到现在已经将Go非常基础的部分介绍完成了,后面就开始设计非常具有Go特色的内容了,因为之后会出现一系列的名词和概念,为了方便本篇先把这些基础概念和我的理解阐述一下。 首先Go是一门编译型语言,编译时产生一份本地可执行代码,但是这些代码其实是执行在go 的runtime上的。 内存管理 Go 语言同Java类似帮助我们去管理内存,而不是C那样程序员自行管理。内存管理主要包含 内存分配、垃圾回收 两大部分: 内存分配器主要负责栈内存的分配及小对象的分配(小于32k的对象)。 goroutine goroutine 是go中设计最巧妙的地方所在,goroutine 是一种go 协程,相对于线程来说实现在用户空间下。 go 中的栈空间是分块式的,这个后续会详细介绍。 channel 管道是Go语言在语言级别上提供的goroutine间的通讯方式,我们可以使用channel在多个goroutine之间传递消息。

23110
  • 广告
    关闭

    热门业务场景教学

    个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    跟着老猫来搞GO,基础进阶

    回顾一下上一篇博客,主要是和大家分享了GO语言的基础语法,其中包含变量定义,基本类型,条件语句,循环语句。那本篇呢就开始和大家同步一下GO语言基础的进阶。 除此以外,其实GO语言相对于其他语言来说有一个比较骚的操作,就是他可以存在多个返回值。例如下面咱们写一个除法的例子,就是大家小学就学过的除不尽的时候存在余数的情况。下面我们来看一个函数。 其实GO语言也有指针,相对而言比较简单,因为GO语言的指针不能运算。 指针说白了就是一个指针指向了一个值的内存地址。 GO语言中的去地址符为&,放到变量以前的话就会返回相应的变量内存地址。 那么我们的GO是值传递还是引用传递,其实GO语言只有值传递。 大家可能有点懵了,其实很多时候,大家不用太过纠结,因为在实际的用法中我们往往通过函数return的值就能解决相关问题。 写在最后 上面呢,其实老猫和大家分享了GO语言的函数定义,以及一个比较重要的指针的概念,在后面的学习中,我们来更加深入地去体会。在实践中去慢慢加深印象。

    17230

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 应用性能观测

      应用性能观测

      包含指标、链路、日志的一站式应用性能监控服务,开源协议平滑接入,有效加速故障排查,定位架构瓶颈

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券