go语言可以做什么?入门Go语言

举报
酷尔。 发表于 2022/04/01 09:58:41 2022/04/01
【摘要】 简要概述一下go语言可以做什么,以及他在当前所处的语言大家庭中的地位。和笔者对其理解。

每一门语言配置好环境后的第一件事-----------向世界问候


本篇博客带大家公平的了解一下go语言相较其他语言的优势,以及go语言的一些特色

  • 先打印一个hello world感受一下go语言的魅力
package main//每一个go文件都应该属于一个包,同一个包下的各函数、变量可以直接引用(不包只能调用大写字母开头的)

import (//导包
	"fmt"//标准的输入输出函数都在这里
	"os"
)


//在go语言中一般一行只放一句代码,末尾不用使用分号
func main(){
	//直接向终端进行输出
	fmt.Println("hello world")
	//向指定的输出流进行重定向(os.Stdout代表向终端进行输出,还可以是文件指针,http响应输出流......)
	fmt.Fprintln(os.Stdout, "hello world")
}

(1)go语言有以下特点(做出总结)

  • 自动垃圾回收(不用再动态的开辟、释放内存了)
  • 更丰富的类型(指针、接口、通道、切片+基础类型=十分丰富灵活的编程语言)
  • 函数多返回值(支持一次返回多个返回值)
  • 错误的处理(这个模块相对来说还比较脆弱)
  • 匿名函数与闭包(这点属于go的特色)
  • 类型和接口(空接口可以接受任意类型,…interface{}作为形式参数可以传入任意个实际参数)
  • 并发编程(并发是go语言的一个强项,因为go使用的是用户线程,相对来说并发需要的资源不多)
  • 反射(go语言是静态语言,可以使用反射对程序进行配置,但效率会有所下降)

(2)go语言做web后端相对其他语言的优势及劣势 。

go语言为静态语言,项目经过预处理、编译、汇编、连接成为exe可执行文件
然后经过简单部署,就大工告成。

①相较python这种边编译边执行的语言来说

  • go语言执行效率高(运行时执行效率高,但是一般肉眼感觉不出来)
  • 语法难易程度不相上下(python语法十分简洁,go语言也不逊色)
  • 依据python的简洁语法,其更适合做数据分析、深度学习等类的工作

②相较java这一元老级别语言来说,go语言设计的时候考虑到了高并发

  • go语言开启同样并发量使用的资源要比java小的多(根本原因是设计语言使用的机制不同)
  • 执行效率虽没有java快,但是仅仅差一丢丢(并发的优势完全可以弥补)
  • go web部署服务器极其简单,java web 项目往往需要寄托在tomcat等服务器上
  • Go语言原生的http包十分优秀,java有许多成熟的框架
  • 总的来说这两个语言效率不相上下,go应该更适合未来的需求。java目前占有更大的市场。
  • 两者都适合用来做web后端

③相较于c/c++祖师级别语言而言

  • go语言语法简洁度相对c/c++有大大的优化
  • go语言的效率当时设计的时候就是奔着赶上c语言去的,虽然没有赶上,但在目前处的高级语言内也算是名列前茅。
  • go语言有许多功能丰富的库,使用起来也比较方便。
  • 技术ok c/c++无所不能(万岁!!!)

④相较于javascript而言

  • 这两个就不进行比较了吧,一个前端语言一个后端语言
  • 两者结合天下无敌(应该劝大家的是目前前后端分离,两个语言的工程师都应该写验证或者测试函数,或约定一方进行书写,避免非法分子有可乘之机)

(3)go语言适合做的事

  • 理论来说也是无所不能,但是为了节约开发成本总的来说更适合做以下几件事
  • go web后端
  • 爬虫
  • 区块链
  • 游戏后端

在这里插入图片描述


一块加油一块努力,一起 go go go !!!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。