【开启Go的学习之旅】

欢迎进入Naruto的Go的探索中

学习一门新语言时,会有一种自然的倾向,按照自己熟悉的语言的套路写新语言程序。那我们在学习Go语言的过程中,就尽量不要这么做。如何写好Go语言程序,下面就跟着我进行吧。

我们用传统的“hello world”案例来开始,这个例子最早是出现在1978年出版的C语言圣经中,为什么要提到这个呢?这就要提到Go语言的创始人肯*汤普森,,Robert Griesemer以及罗布*派克,这三位大佬都是C语言的主要发明人,并共创出广泛使用的UTF-8字元编码。Google创造Golang的原因大致分为3类。

  1. 计算机硬件技术更新频繁,性能提高很快。目前主流的编程语言发展明显落后于硬件,不能合理利用多核多cpu的优势提升软件系统性能。
  2. 软件系统复杂度越来越高,维护成本也越来越高,目前缺乏一个足够简洁高效的编程语言。
  3. 企业运行维护很多C/C++的项目,C/C++程序运行速度虽然很快,但是编译速度却很慢,同时还存在内存泄漏的一系列的困扰需要解决。

下面介绍一下Golang的语言特点:

  1. Go语言保证了既能达到静态编译语言的安全和性能,又达到了动态语言开发维护的高效率,用一个表达式来表示Go语言就是:Go = C + Python 。
  2. Go语言也引入了包的概念,用于组织程序结构,Go语言的一个文件都要归属于一个包,而不能单独存在。
  3. 垃圾回收机制,内存自动回收。
  4. 天然并发(主要特点)
    这些特点在以后的学习中都会涉及感受到。

Golang的开发工具新手一般推荐VScode。

Hello,World

package main

import "fmt"

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

go语言提供的工具都通过一个单独的命令 go 调用,go命令有一系列子命令。最简单的一个子命令就是run。这个命令编译一个或多个以go结尾的源文件,链接库文件,并运行最终生成可执行文件。(以 $ 为命令行提示符)

$ go run helloworld.go //helloworld为文件名

命令就会输出:

Hello World

因为go语言原生支持UTF-8,它可以处理全世界任何语言的文本。
如果希望编译这个程序,保存编译结果,就可以用build子命令 :

$ go build helloworld.go

这样就可以生成一个可执行的二进制文件(windows系统下生成的可执行文件是helloworld.exe)之后就可以随时运行它,不需要任何处理(因为静态编译,所以不用担心在系统库更新的时候冲突,幸福感满满。)

执行 go get gopl.io/ch1/helloworld 命令,就会从网上获取代码,并放到对应目录中(需要
先安装Git或Hg之类的版本管理工具,并将对应的命令添加到PATH环境变量中。需要先设置好GOPATH环境变量,下载的代码会放在$GOPATH/src/gopl.io/ch1/helloworld 目录)。

Hello World的程序介绍

GO语言的代码通过包(package)组织,包类似于其他语言里的库或模块。一个包由位于单个目录下的一个或多个.go源代码文件组成, 目录定义包的作用。每个源文件都以一条 package 声明语句开始,这个例子里就package main , 表示该文件属于哪个包,紧跟着一系列导入(import)的包,之后是存储在这个文件里的程序语句。Go的标准库提供了100多个包,以支持常见功能,如输入、输出、排序以及文本处理。比如 fmt 包,就含有格式化输出、接收输入的函数。 Println 是其中一个基础函数,可以打印以空格间隔的一个或多个值,并在最后添加一个换行符,从而输出一整行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值