【Go 语言教程】Go 语言简介

栏目: Go · 发布时间: 5年前

内容简介:Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言。Go是静态强类型语言,是区别于解析型语言的编译型语言。解析型语言——源代码是先翻译为中间代码,然后由解析器对代码进行解释执行。

1 Go 语言介绍

Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言。

Go是静态强类型语言,是区别于解析型语言的编译型语言。

解析型语言——源代码是先翻译为中间代码,然后由解析器对代码进行解释执行。

编译型语言——源代码编译生成机器语言,然后由机器直接执行机器码即可执行。

2 Go语言特性

跨平台的编译型语言

语法接近C语言

管道(channel),切片(slice),并发(routine)

有垃圾回收的机制

支持面向对象和面向过程的编程模式

3 Go 语言特色

编程模式比较简单,没有复杂的设计模式

全部源码编译到一个文件,编译速度很快

最新版本也有动态库形式,对跨语言调用的支撑更到位

开源框架比较成熟,新崛起的互联网公司都在用——如滴滴,uber,百度,阿里巴巴,oppo,vivo等

微服务的开发模式下Go语言是新宠

4 Go 擅长领域

服务开发,web的api开发,分布式服务集群的开发

容器 docker 是go开源的产品,k8s等这些都是基于go语言的

对高并发、高性能的系统和服务支撑,Go语言对比其他语言有更快的开发速度,更高的开发效率

独有的语言特性和设计模式routine,channel,sync包支撑了海量并行的支持。

所以能看到这些领域都在使用Go语言:微服务开发模式,api开发,rpc服务开发,游戏服务开发等等

5 Go语言的helloworld例子

helloworld 源码

package main

import "fmt"

func main() {

fmt.Println("Hello, 世界")

}

源码简单说明:其中package是go语言中以包为概念,一般包对应着目录名字(对应着名字也方便看和提升效率),当然main的包是个特殊的包,不需要目录名字一致。import是对一个不是本包的外面的包的引入,go语言有个特点对于不使用的包引入了,是会编译出错,报错说没有使用已经引用的包。

fmt是go语言的一个系统模块,跟格式化和console的输出有关。所有的语言编程都会有main方法入口,对于有些没有的话其实框架本身底层封装了而已。

运行结果

Hello, 世界

关于本专栏——Go 语言教程,专栏致力于为希望可以系统地,一条一条地,一步一步的学习Go语言的朋友提供一个可以持续阅读的地方,当然也希望可以通过我的实践经验以及相应的基础,可以给你一些学习之外的想法和总结,以及提高。如果真的有帮助,哪怕一点点,可以把这个一点点的提高分享给我,欢迎跟我勾搭联系。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java核心技术·卷 I(原书第10版)

Java核心技术·卷 I(原书第10版)

[美] 凯.S.霍斯特曼(Cay S. Horstmann) / 周立新 等 / 机械工业出版社 / 2016-9 / CNY 119.00

Java领域最有影响力和价值的著作之一,由拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),与《Java编程思想》齐名,10余年全球畅销不衰,广受好评。第10版根据Java SE 8全面更新,同时修正了第9版中的不足,系统全面讲解了Java语言的核 心概念、语法、重要特性和开发方法,包含大量案例,实践性强。 一直以来,《Java核心技术》都被认为是面向高级程序员的经典教......一起来看看 《Java核心技术·卷 I(原书第10版)》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器