Go语言学习系列-Hello Go

Hello Go语言

《Go语言学习系列》将持续更新(包括Go、后端面试知识分享),可以搜索wx公众号:青年泛


Go语言于2009年11月发布,其发明人是Robert Griesemer、Rob Pike和Ken Thompson。Go官网

​ Go特别适用与构建基础设施类软件(如网络服务器),以及程序员使用的工具和系统等。

​ Go是个开源项目,所以其编译器、库和工具的源代码都可以免费获取。Github地址

1.起源

Go家族图谱

​ Go有的会称它为“类C语言”或“21世纪的C”。Go继承了C的表达式语法、流程控制语句、基本数据类型、值传递和指针。更重要的是继承了C的要点:程序要编译成高效的机器码,并与所处的操作系统提供的机制相配合。

​ Go的协程与通道受到了通信顺序进程(Communicating Sequential Process,CSP)的启发,在CSP中:程序就是一组无共享状态进程的并行组合,进程间的通信和同步采用通道完成。

​ Go还受到以Pascal为发端的语言支流的影响,Modula-2启发了包的概念。Oberon-2影响了包、导入和声明的语法,且提供了方法声明的语法。

2.Go项目与生态

​ Go的生态环境目前虽比不上Java,但是它在蓬勃发展。Go在Github的项目集

​ Go语言风格比较简结,Go出现的晚,吸取其他语言的精华,有点像是个集大成者。

​ Go有:

  • 垃圾回收(可以比较Java的GC)
  • 包概念
  • 函数是一等公民(在Java中类是一等公民),可以往函数式编程风格编写
  • 默认UTF-8的不可变字符串
  • 词法作用域
  • 系统调用接口
  • 协程

​ Go无:

  • 隐式数值类型转换(需要显示转换)
  • 构造或析构函数(Go内置函数New、make)
  • 运算符重载(在Java中只有“+”运算符是可重载的)
  • 形参默认值
  • 继承、泛型、宏
  • 异常
  • 函数注解
  • 线程局部存储

3.Hello World程序

package main

import "fmt" //导入内置fmt包

func main() {
    fmt.Println("Hello World!")
}

​ Go语句末尾可以不用写分号

4.关注公众号一起哔哔

持续交流后端技术,wx公众号:青年泛
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值