赞
踩
go一般用来做web的后端开发,前后端分离的web开发模式越来越多,这个模式需要一个http api服务器,在构建api时,通常会采用一种叫 REST 风格的方式来构建。项目实现了REST 风格+JSON构建的 API 服务器,这是go api开发的常用组合,能满足大多数需求场景。api构建的过程:准备、设计、开发、测试(可选)、部署。api就是一个接口,为前端提供一些功能(增删改查)
Linux平台(Centos 7)
Golang(最新版)
Vim IDE
CURL(Linux)或ApiPost(Windows)
由来:
Go语言亦叫Golang语言,是由谷歌Goggle公司推出。传统的语言比如c++,大家花费太多时间来学习如何使用这门语言,而不是如何更好的表达写作者的思想,同时编译花费的时间实在太长,对于编写-编译-运行这个链条来说周期太长。动态语言如Python,由于没有强类型的约束,很多问题需要在运行时发现,这种低级错误更应该交给编译器来发现。于是Go诞生了。
特点:
Go语言保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发速度和易维护性,有人形容Go语言: Go= C + Python , 说明Go语言既有C静态语言程序的运行速度,又能达到Python动态语言的快速开发。Go语言有以下特性:
1. 自动垃圾回收
C/C++最头疼的就是指针问题,一不小心就野指针了或者又越界了。在Go语言里再也不用担心,也不用考虑delete或者free,系统自动会回收。
2. 函数可以返回多个值
这个很神奇,大多数语言只能返回一个值,Go语言可以返回多个值。这个功能使得开发者再不用绞尽脑汁的想到底怎么返回值的设计,也不用为了传值专门定义一个结构体。
3. 并发编程
Go语言天然并发,只需要关键字“go”就可以让函数并发执行,使得并发编程变得更为简单,这也是Go语言最大的优势。
4. 没有依赖地狱, 甚至是glibc
5. 编译一次,随处拷贝,部署极为方便
GOROOT:安装目录
GOPATH:工作目录bin(build二进制)、pkg(三方包)、src(源代码)
包管理方式:go path代码必须放在src目录下;go vendor依赖放在当前项目的vendor下;go module,代码可以放在任意目录go.mod、go.sum,go tidy
1、新建一个go文件,example.go
1 package main 2 3 import "fmt" 4 5 func main() { 6 //定义一个变量,值为100 7 //:=简写一个形式,Go可以自动识别类型 8 s1 := "100" 9 //声明变量name为string类型,赋值一个空字符串"" 10 var name string 11 //fmt.Print("hello","world") 12 //fmt.Printf("hello,world %s \n",s1) 13 //fmt.Println("hello world!") 14 // fmt.Sprint(s1,"hello") 15 fmt.Println(s1) 16 fmt.Print("name:") 17 fmt.Scan(&name) 18 fmt.Println("your name is:", name) 19 } //声明了 main.go 所在的包,如果是主程序就是main,Go 语言中使用包来组织代码。一般一个文件夹即一个包,包内可以暴露类型或方法供其他包使用。 package main //导入库,fmt用来处理标准输入输出,是go语言的一个标准库/包 import "fmt" //main 函数是整个程序的入口,main 函数所在的包名也必须为 main,主包中必须包含一个main函数 func main() { //调用fmt包的Println方法,在屏幕上输出信息,带换行 fmt.Println("hello world")
/一行代表一个语句结束,多个语句写在同一行,它们则必须使用 ; 人为区分。标识符规则和python一样/
2、运行代码
直接运行:go run example.go(如果强制启用了 Go Modules 机制,即环境变量中设置了 GO111MODULE=on,则需要先初始化模块 go mod init hello 否则会报错误:go: cannot find main
module; see ‘go help modules’)
先编译再执行:go build
example.go,编译成二进制可执行程序,build后,你会发现在同级目录下会生成一个同名的可执行文件,无扩展名(
Windows系统下生成的可执行文件是helloworld.exe)
3、go子命令
Go是一门编译型语言,Go语言的工具链将源代码及其依赖转换成计算机的机器指令(译注:静态编译)。Go语言提供的工具都通过一个单独的命令 go 调用, go 命令有一系列子命令。最简单的一个子命令就是run。这个命令编译一个或多个以.go结尾的源文件,链接库文件,并运行最终生成的可执行文件。Go语言原生支持Unicode,它可以处理全世界任何语言的文本
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。