今天是Go语言12周年生日,装一个开始Go语言之旅吧——

简介: 今天是Go语言12周年生日,装一个开始Go语言之旅吧——

Go语言的生日


12年前的“今天”→ 2009.11.10,Go 语言以开源方式向全球发布!

5453749959d6458184cbdb670a1f7136.png




简介


Go 语言又称 Golang,是谷歌(Google)开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。


Go语言有时被描述为“C 类似语言”,或者是“21 世纪的C语言”。Go从C语言继承了相似的表达式语法、控制流结构、基础数据类型、调用参数传值、指针等很多思想,还有C语言一直所看中的编译后机器码的运行效率以及和现有操作系统的无缝适配。与 C++ 相比,Go 并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能,但增加了切片型、并发、管道、垃圾回收功能、接口等特性的语言级支持,它通过接口(interface)的概念来实现多态性。Go语言有一个清晰易懂的轻量级类型系统,在类型之间也没有层级之说。


Go 用批判吸收的眼光,融合 C 语言、Java 等众家之长,将简洁、高效演绎得淋漓尽致;在十年多的时间里,Go 语言发展势头强劲,凭借其简洁、高效的特性,在竞争激烈的编程语言市场中占据了一席之地。如今,Google、腾讯、阿里等大公司纷纷选择使用 Go 语言来开发服务应用项目。





下载


不知什么原因,官网 https://golang.org/dl/ 登不上去,用了以下地址:


581af94eeae94cef887e2eeb6831ac63.png




安装

2fe4905f47ab4c7c9e6b2a489e59b2a1.png


点几下Next,再点Install,最后看到Fisnish就OK了。


1229861fa1c94982a5b8b32649f8451a.png


安装完后,文件夹下共有17个对象:

86270463d1a44d18b36ebe9f1f589e80.png





命令

c92b21874d17423abae2b911053d20d1.png


运行

语法什么的都没学呢,网上找段代码先试运行一下:

package main
import (
"net/http"
)
func main() {
  http.Handle("/", http.FileServer(http.Dir(".")))
  http.ListenAndServe(":80", nil)
}




把以上代码保存为文本文件:test.go ,执行 go run test.go即可。

    D:\>go version
    go version go1.17.3 windows/amd64
    D:\>go run test.go



运行后,在浏览器中访问 http://127.0.0.1/ ,就能看到test.go所在文件夹的文件列表了,也是一个简单的在线资源管理器,能打开层层文件夹也能直接浏览文本文件,。




编译

run命令只是解释执行,并不生成可执行文件;编译就要用 build 命令,参数 -o 可以指定生成可执行文件的文件名。


    D:\>go build -o netdir.exe test.go
    D:\>netdir
    ^C
    D:\>




学习资源



码云gitee.com上有github的镜像仓库:


 

go: Go是Google开发的一种编译型,並發型,并具有垃圾回收功能的编程语言

https://gitee.com/mirrors/go另外:

   c语言中文网上有简单的且大部分免费的go教程,还看到它提供了某教程的源码下载地址,转来但不保证何时就过期或失链:

  https://pan.某度.com/s/1ORFVTOLEYYqDhRzeq0zIiQ    提取密码:hfyf



目录
相关文章
|
14天前
|
存储 监控 算法
员工上网行为监控中的Go语言算法:布隆过滤器的应用
在信息化高速发展的时代,企业上网行为监管至关重要。布隆过滤器作为一种高效、节省空间的概率性数据结构,适用于大规模URL查询与匹配,是实现精准上网行为管理的理想选择。本文探讨了布隆过滤器的原理及其优缺点,并展示了如何使用Go语言实现该算法,以提升企业网络管理效率和安全性。尽管存在误报等局限性,但合理配置下,布隆过滤器为企业提供了经济有效的解决方案。
57 8
员工上网行为监控中的Go语言算法:布隆过滤器的应用
|
1月前
|
存储 Go 索引
go语言中数组和切片
go语言中数组和切片
42 7
|
1月前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
1月前
|
程序员 Go
go语言中结构体(Struct)
go语言中结构体(Struct)
103 71
|
1月前
|
存储 Go 索引
go语言中的数组(Array)
go语言中的数组(Array)
107 67
|
1月前
|
Go 索引
go语言for遍历数组或切片
go语言for遍历数组或切片
105 62
|
1月前
|
并行计算 安全 Go
Go语言中的并发编程:掌握goroutines和channels####
本文深入探讨了Go语言中并发编程的核心概念——goroutine和channel。不同于传统的线程模型,Go通过轻量级的goroutine和通信机制channel,实现了高效的并发处理。我们将从基础概念开始,逐步深入到实际应用案例,揭示如何在Go语言中优雅地实现并发控制和数据同步。 ####
|
9天前
|
算法 安全 Go
Go 语言中实现 RSA 加解密、签名验证算法
随着互联网的发展,安全需求日益增长。非对称加密算法RSA成为密码学中的重要代表。本文介绍如何使用Go语言和[forgoer/openssl](https://github.com/forgoer/openssl)库简化RSA加解密操作,包括秘钥生成、加解密及签名验证。该库还支持AES、DES等常用算法,安装简便,代码示例清晰易懂。
40 12
|
1月前
|
存储 Go
go语言中映射
go语言中映射
38 11
|
1月前
|
Go
go语言for遍历映射(map)
go语言for遍历映射(map)
39 12