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

Go语言初识

一、Go语言概述

  • Go语言是为了取代C和java的地位,既要保留C的简洁,也追求java的规模化开发

    • 并行及分布式的支持,使得开发多核及多机器集群程序如同单机一样简单

      • Go语言从语言级别支持协程(goroutine, 轻量级线程),Go语言标准库提供的所有系统调用(同步IO、本地文件读写等)都会出让CPU给其他goroutine;

      • 执行体之间的通信,包括同步与互斥、消息传递

      • Go语言支持goroutine之间的互斥与同步

      • Go语言内置消息队列,称为通道(channel),支持执行体之间的通信

    • 支持大规模程序开发,确保程序可拓展及团队协作

      • Go语言强制代码风格统一,如强制要求public变量必须以大写字母开头,private变量必须以小写字母开头,{}必须跨行等

      • Go语言支持函数有多个返回值,最后一个一般时error信息,Go统一定义了异常返回的接口

      • Go语言定义了defer关键字,支持函数无论是否发生异常,退出时都会执行的一段代码

    • 提出了一套吸收面向过程、面向对象、函数式编程、面向消息编程思维的思想的新的编程哲学

      • Go语言反对函数和操作符重载

      • Go语言支持类、类成员函数、类的组合,但反对继承、虚函数、虚函数重载

      • Go语言放弃了构造函数和析构函数

      • Go语言支持接口(interface),但其定义于一般语言的接口完全不一样,属于非侵入式接口;实现类不需要从接口派生,只要类实现了接口要求的所有方法,就认为是实现了接口,可以进行赋值

-------未完待续-----------

参考书籍:《Go语言编程》

http://www.lryc.cn/news/470853.html

相关文章:

  • Android Activity SingleTop启动模式使用场景
  • PHP 代码执行相关函数
  • 五周年,继续破浪前行
  • 【操作系统】Linux之进程管理一
  • C语言_数据在内存中的存储
  • 华为原生鸿蒙操作系统:我国移动操作系统的新篇章
  • 队列的基本操作(数据结构)
  • linux开机自启动三种方式
  • AI创作者与人类创作者的协作模式
  • FPGA第 13 篇,使用 Xilinx Vivado 创建项目,点亮 LED 灯,Vivado 的基本使用(点亮ZYNQ-7010开发板的LED灯)
  • Kafka文档阅读笔记之基本操作
  • Golang | Leetcode Golang题解之第506题相对名次
  • 机器学习——元学习(Meta-learning)
  • 【TIMM库】是一个专门为PyTorch用户设计的图像模型库 python库
  • 【AIGC】从CoT到BoT:AGI推理能力提升24%的技术变革如何驱动ChatGPT未来发展
  • 若依部署上线遇到的问题
  • 一个vue3的待办列表组件
  • 深入分析梧桐数据库SQL查询之挖掘季度销售冠军
  • 「ZJUBCA秋季迎新见面会预告」
  • 钉钉消息推送工具类
  • Android Studio 导入/删除/新建库的模块(第三方项目) - Module
  • flowable 去掉自带的登录权限
  • 第T8周:猫狗识别
  • 第十七周:机器学习
  • 算法4之链表
  • 掌握未来技术:KVM虚拟化安装全攻略,开启高效云端之旅
  • 挖矿病毒的处理
  • JVM(HotSpot):GC之G1垃圾回收器
  • appium文本输入的多种形式
  • springboot095学生宿舍信息的系统--论文pf(论文+源码)_kaic