ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何用最快的时间学会 Go 语言?

2021-10-25 17:32:49  阅读:235  来源: 互联网

标签:最快 学会 debug go GIN Go gin main


如果我告诉你只需要学习半天 Golang 就能开发应用程序你信不信?

我一直认为学习一门新的编程语言难点不在语法(除个别语言,绝大多数语言都是 “C-like”),难点是如何有效快速的应用到实际开发和工程管理中,并且能极大发挥出这门语言最大的优势特性。

首先,先去官网下载 Golang 编译器,具体安装参考官网方案:https://golang.org/

着重强调一点,学习任何语言千万别去捣鼓 IDE 这些编辑器和集成环境,要不然会让你陷入编辑器的使用方法,而不是语言本身的知识。最好的方式就是用 Sublime、Vim、VScode 这些轻量的编辑器,先也不用安装任何插件,就在命令行直接运行就好。

下载完成后先体验一下:

package main

import "fmt"

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

运行结果:

$ go run main.go 
Hello, World

语言结构就是这样的,然后就去看官方文档,不用太扣细节,把基础的看完就可以了,基础包括:语言特性、包引用、数据类型、控制结构、数组、切片、函数、接口。重点是把包引用研究透了,然后就可以进行应用程序开发了。

没错,就是这么快(当然了,这只是针对于有过其他编程语言基础的同学来说,没有经验的还是一步一步来吧)。编程语言是工具,这也是工科和理科最大的区别,不用全部学会了再开始。

现在就给自己定一个任务,比如说要重构之前用 Java 、PHP、Python … 写过的还在线上跑的业务,然后顺着这个方向用 Go 重构。

比如,我们公司现在有一个基础架构是单点登录的微服务,我就选择用 Go 重构这个单点登录。

首先,找一个支持 RESTful 的 web 框架。从众多框架中挑选出三个具有代表性的:Beego、Gin、go-zero。框架的具体对比的文章有很多,这里不做介绍,我选择了人气很高的 Gin。当然,你也可以选择其他的框架,不影响 Go 的学习。

安装 Gin:

go get -u github.com/gin-gonic/gin

新建目录:

mkdir hello

新建 model:

go mod init hello	

新建文件:

touch main.go

main.go

package main

import "github.com/gin-gonic/gin"

func main() {
	r := gin.Default()
	r.GET("/ping", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "pong",
		})
	})
	r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}

启动服务:

$ go run main.go 
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:	export GIN_MODE=release
 - using code:	gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET    /ping                     --> main.main.func1 (3 handlers)
[GIN-debug] Environment variable PORT is undefined. Using port :8080 by default
[GIN-debug] Listening and serving HTTP on :8080

运行结果:

$ curl "127.0.0.1:8080/ping"
{"message":"pong"}

剩下的就是根据业务来写服务代码了,可以边写边查 Go 语言语法的用法,等你把这个服务和重构完成,Go 语言也就学会了。

具体的目录结构和代码编排会在后续的文章继续更新。

标签:最快,学会,debug,go,GIN,Go,gin,main
来源: https://blog.csdn.net/yilovexing/article/details/120952540

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有