GoLang语言的特点

Go语言结合了C的高性能和Python的开发效率,具备静态和动态语言的优点。它引入了包、垃圾回收、并发机制(goroutine和channel)以及独特的变量声明方式。Go语言的标识符命名规则严格,注重代码可读性,并且拥有丰富的系统保留关键字和预定标识符。其并发模型基于CPS,通过轻量级线程goroutine和管道channel实现高效通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Go语言既能达到静态语言的安全和性能,又达到了动态语言开发维护的高效,使用一个表达式来形容Go语音(Go = C + Python),说明Go语言既有C静态语言程序的运行速度,又能达到Python动态语言的快速开发。

  • 从C语言中继承了很多理念,包括表达式语法、控制结构、基础数据类型、调用参数传值、指针(弱化指针)等,也保留了和C语言一样的编译执行方式。
  • 函数可以返回多个值
  • 引入包的概念,用于组织程序结构,Go语言的一个文件都要归属于一个包,而不能单独存在。
  • 垃圾回收机制,内存自动回收,不需要开发人员管理。
  • 天然并发
    • 从语言层面支持并发,实现简单
    • goroutine,轻量级线程,可实现大并发处理,高效利用多核
    • 基于CPS并发模型实现
  • 吸收了管道通信机制,形成Go语言特有的channel,通过管道channel,可以实现不同的goroute之间的相互通信
  • 新的创新,比如切片slice,延时执行defer等

变量声明的三种方式:

  • var 变量名 变量类型

    var i int
    var i, j int
  • var 变量名 = 变量值 => 启用类型推到,根据变量值来推到变量的类型

    var i = 10
    var i, j = 10, "str"
  • 变量名 := 变量值 => 启用类型推到,根据变量值来推到变量的类型

    i := 10
    i, j := 110, "str"

在全局作用域下一次性声明多个变量:使用var( )的形式

    var (
        x = 50
        y = "sdf"
    )

标识符的命名规则:

  • 由字母、数字、下划线组成(数字不能开头)
  • 下划线本身在Go中是一个特殊的标识符,成为“空标识符”,可以代表任何其他的标识符,但是它对应的值会被忽略(比如忽略某个返回值)。所以仅能被作为占位符使用,不能作为标识符使用。

标识符命名注意事项:

  • 包名和文件名保持一致,尽量采取有意义的包名,简短,有意义,不要和标准库冲突。
  • 变量名,函数名,常量名采用驼峰法。
  • 如果变量名,函数名,常量名首字母大写,则可以被其他的包访问;如果首字母小写,则只能在本包中使用(Go语言的特性,因为Go语音没有public,private,protect等概念)

系统保留关键字

breakdefaultfuncinterfaceselect
casedefergomapstruct
chanelsegotopackageswitch
constfallthroughifrangetype
continueforimportreturnvar

预定标识符

appendboolbytecapclosecomplex
complex64complex128uint16copyfalsefloat32
float64imagintint8int16uint32
int32int64itoalenmakenew
nilpanicuint64printprintlnreal
recoverstringtrueuintuint8uintptr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值