go2school 系列的第二道题目 用 Go 语言实现一个简单的 HTTP Server。 题目 简要描述:实现 GET(get), POST(set) 两个功能 // 读取Redis的"path:path2" @GET /path/path2 // 将 value(=3) 写入 redis 的 "path:path2" @POST /path/path2 { "value": 3 } 现有可用的redis数据库(已脱敏): { "Addr":"t.kezaihui.com: 6580", "Password":"06ad0c72d5ce41ce9f04ad1237965a4d" } 交作业 使用go语言原生的http库作为route处理url:暂时不适用框架 使用go-redis 因为go的workspace和python还有c++实在是不同。因此习惯go的workspace,理解Gopath就至关重要了。
官网主页:Go下载 - Go语言中文网 - Golang中文社区 可以直接点击下载: 环境变量设置 看看是否有,如果有就不需要二次重复配置了。 版本查看 Go的优势 Go 语言是一种开源的编程语言,具有高效性、并发性强等众多优势,以下是具体介绍: 语言特性层面 语法简洁高效:Go 语言的语法简洁明了,易于学习和理解。 例如,Go 语言使用:=进行变量的声明和初始化,简洁地完成了变量定义和赋值操作。 只需要在不同的操作系统上安装相应的 Go 编译器,就可以使用相同的源代码进行编译和运行,方便了开发者进行跨平台开发和部署。 丰富的开源项目:由于 Go 语言的诸多优势,吸引了众多开源项目采用 Go 语言进行开发。例如,Kubernetes、Docker 等知名的开源项目都是用 Go 语言编写的。
2、我这里是Windows,所以直接下载windows的安装包来安装。 安装好之后我们在E:\Z_Enviroment\Go 下可以看到安装好的go文件。 配置全局环境变量,在path中加入E:\Z_Enviroment\Go\bin 3、在控制台窗口输入“go version”可查看Go版本,检测是否安装成功。 检查是否安装成功 go version C:\Users\1>go version go version go1.21.1 windows/amd64 4、配置环境变量。 Go需要一个安装目录,还需要一个工作目录。即GOROOT、和GOPATH。(前面我们配置好了,没配置的这里继续。) GOROOT即为GO的安装目录。 如果是安装包安装的,系统环境变量自动配置的,如果压缩包安装,需要在PATH配置Go的命令。 打开控制台,输入命令go env查看是否配置成功。 ok,到此,Go安装完成。
因为windows/mac下面安装比较简单(go中文网站下载地址), 这里就直接略过了,我们着重说一下linux下面的安装。 ubuntu16.04安装 apt安装go sudo apt install -y golang-go 设置环境变量 vi ~/.bashrc export GOROOT=/usr/lib/ go-1.6 #设置go语言路径 export GOPATH=/vagrant/go #设置代码解析路径 ---- 从go中文网站下载地址下载最新版的Go语言二进制档案包
/configure make make install protoc --version 即可看到安装完成 安装 go-protobuf 安装插件 protoc-gen-go,它是一个go程序,编译它之后将可执行文件执行路径写入环境变量 go get github.com/golang/protobuf/protoc-gen-go 获取go的protobuf包 go get github.com/golang/protobuf/proto 输入命令 protoc-gen-go,如果没报错表示安装成功 使用 编写一个proto文件. /test"; message User{ string userName = 1; int64 userId = 2 ; string address = 3; string {} err = proto.Unmarshal(out, &user2) if err!
golang 安装程序为服务 package main import ( "context" "fmt" "io" "log" "net/http" " = nil { srv.Log.Info("Start run http server") } go srv.StarServer() return nil } log.Fatalf("Install service error:%s\n", err.Error()) } fmt.Printf("服务已安装
你好,Go语言 Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 因工作需要,准备入坑,先从环境安装开始,输出一个 Hello World。 环境安装 目标 安装完成并运行 Hello World 成功! 本机系统:macOS High Sierra 10.13.4 Go 版本:1.12 方式一: 通过 brew 安装 brew install go 根据提示进行安装吧,我使用的 方式二 进行安装的。 方式二: 通过安装包安装 地址:https://dl.google.com/go/go1.12.darwin-amd64.pkg 下载之后直接点击安装,一步步继续即可。 学习网址 Go语言:https://golang.org/ Go语言中文网:https://studygolang.com/ Go语言包管理:https://gopm.io/ 小结 主要分享了环境安装和开发工具
==*操作符==表示指针指向的底层值 与C不同,Go没有指针运算 func main (){ i,j:=12,31 p:=&i//p是指向i的指针 fmt.Println(*p x int y int } func main (){ v1=Vertex{1,2} v2=Vertex{x:1}//默认y:0 v3=Vertex{}//默认x :0,y:0 p=&Vertex{1,2}//p是指向{1,2}的结构体指针 } 数组 [n]T表示n个T类型的数组 var a[10]int var main (){ var a[ 0,且没有底层数组 用make创建切片 切片可以用内建函数make创建,这也是创建动态数组的方式 a:=make([]int,2,2)//切片a的长度为2,容量为2 func main (){ compute (fn func(float64,float64)float64)float64{ return (fn(3,4)) } 函数的闭包 闭包:能够读取其他函数内部变量的函数 Go
Go完全是垃圾回收型的语言,并为并发执行与通信提供了基本的支持。 按照其设计,Go打算为多核机器上系统软件的构造提供一种方法。 安装 使用Go很简单,你只需要安装它的编译器就可以使用了: 首先你需要到下载地址下载你所用的系统安装包,点击安装即可。 Windows 如果是zip解压的需要配置下环境变量,此过程不再描述。 如果是msi安装包他会自动配置你的环境编辑,检验你的是否正常使用只需要你打开cmd或者powershell输入: PS C:\Users\Jaxson> go version go version go1.10.2 仅仅安装好了是不够的我们还需要配置一些东西:GOPATH Go从1.1版本到1.7必须设置这个变量,而且不能和Go的安装目录一样,这个目录用来存放Go源码,Go的可运行文件,以及相应的编译之后的包文件 它在Unix上默认为$HOME/go,在Windows上默认为%USERPROFILE%/go。
2、数字证书携带的签名是CA通过CA密钥加密摘要后的结果,因此接收端通过一个解密函数F'对S进行“解密”。 步骤(1) ,生成CA自己的私钥 rootCA.key 步骤(2),根据CA自己的私钥生成自签发的数字证书,该证书里包含CA自己的公钥。 run server.go go run client.go Hi, This is an example of http service in golang! extended key usage doesn't permit it to be used for client authentication $go run client.go Get error 我们再来执行一下server和client: $ go run client.go Hi, This is an example of http service in golang!
windows下的安装十分简单,直接下一步下一步就可以了,而且会自动配好环境变量,所以这里就不演示安装过程了。安装好后打开cmd执行go version命令进行验证即可: ? 这里假设你的go安装路径为 C:\app\go下。第一个需要配置的环境变量是GOROOT,该变量的值为C:\app\go\,即你的go安装目录。 然后还需要在PATH变量里配置go安装目录下的bin目录,即C:\app\go\bin。也可以引用GOROOT变量,如%GOROOT%\bin,配置了该值后才能直接执行go相关的命令。 插件安装好并重启IDEA后,现在就可以创建go工程了: ? ---- 然后我们来看看GoLand的安装,GoLand官方下载地址: https://www.jetbrains.com/go/ 下载好安装包后,也是下一步下一步傻瓜式安装就行了,所以这里就不赘述安装过程了
文章目录 一、关于 Go 二、macOS 上安装 Go 方式一:使用 brew(推荐) 方式二:下载安装包SDK 三、Hello Go ---- 一、关于 Go 官方主页 https://golang.org 二、macOS 上安装 Go ---- 方式一:使用 brew(推荐) 终端输入命令: $ brew install go ---- 安装地址位于:/usr/local/Cellar/go 安装成功后 ,go 的可执行文件夹会被配置到环境变量,即可以直接使用 go 命令: $ go version go version go1.17.8 darwin/amd64 ---- 方式二:下载安装包SDK 1 、安装包下载地址 https://golang.org/dl/ ---- 2、双击pkg包,顺着指引,即可安装成功。 我的版本(macOS 11.2 go1.17.7) 安装地址为 /usr/local/go $ /usr/local/go/bin/go version go version go1.17.7 darwin
Go函数的返回值或结果“形参”可被命名,并作为常规变量使用,就像传入的形参一样。 以下为数组在Go和C中的主要区别。在Go中, 数组是值。将一个数组赋予另一个数组会复制其所有元素。 特别地,若将某个数组传入某个函数,它将接收到该数组的一份副本而非指针。 数组的大小是其类型的一部分。 二维切片 Go的数组和切片都是一维的。 以下简单的例子 x := []int{1,2,3} x = append(x, 4, 5, 6) fmt.Println(x) 将打印 [1 2 3 4 5 6]。 初始化 尽管从表面上看,Go的初始化过程与C或C++并不算太大,但它确实更为强大。 在初始化过程中,不仅可以构建复杂的结构,还能正确处理不同包对象间的初始化顺序。 常量 Go中的常量就是不变量。
语言环境安装 软件的安装常用三种方式 1. 在线安装 这种安装方式是通过系统提供的安装工具,自动下载安装包,并自动安装到系统的固定目录下 2. 离线源码安装 在本地对源码进行make操作,将其编译为二进制的可执行程序。并将其copy到执行的目录下并加入到PATH环境变量中 以上对三种安装的原理做了简单的阐述。go语言环境同样适用。 选择喜欢的安装方式,在go语言中文网下载对应的包,安装以上的说明进行安装 GOPATH环境变量 GOPATH是一个go语言的环境变量,官方给出的说明 The GOPATH environment variable sublime内置python脚本语言,可以进行宏命令和插件的开发,也是小编平时使用最多的工具 使用sublime作为go开发工具,只需要安装godef(用于代码跳转)和goSublime(go工具集) 总结 本篇是go系列的第一篇,从三方面内容展开,安装,GOPATH,编辑器,没有告诉怎么一步一步安装,而是教你怎么去抓鱼。
语言环境安装 软件的安装常用三种方式 1. 在线安装 这种安装方式是通过系统提供的安装工具,自动下载安装包,并自动安装到系统的固定目录下 2. 离线源码安装 在本地对源码进行make操作,将其编译为二进制的可执行程序。并将其copy到执行的目录下并加入到PATH环境变量中 以上对三种安装的原理做了简单的阐述。go语言环境同样适用。 选择喜欢的安装方式,在go语言中文网下载对应的包,安装以上的说明进行安装 GOPATH环境变量 GOPATH是一个go语言的环境变量,官方给出的说明 The GOPATH environment variable sublime内置python脚本语言,可以进行宏命令和插件的开发,也是小编平时使用最多的工具 使用sublime作为go开发工具,只需要安装godef(用于代码跳转)和goSublime(go工具集) 总结 本篇是go系列的第一篇,从三方面内容展开,安装,GOPATH,编辑器,没有告诉怎么一步一步安装,而是教你怎么去抓鱼。 喜欢请关注微信公众号"**云端漫记**“ 持续为你更新
除了Flutter Desktop Embedding外还有一个go flutter desktop可以使用flutter开发桌面应用 Flutter Desktop Embedding 对比 go flutter desktop # 安装go flutter desktop 官方安装文档在此: https://github.com/go-flutter-desktop/hover windows安装注意事项 TDM-GCC要安装64 GO111MODULE首先设置为on,然后安装hover:go get -u github.com/go-flutter-desktop/hover 这样做的是为了防止下载go 官方包失败 安装完成hover后将GO111MODULE修改为auto,这是因为接下来执行hover init需要的 hover要求使用flutter channel beta的发行版本 # 配置go flutter desktop的Debug环境 go flutter desktop模式是不支持与vscode集成debug的,不过可以通过修改配置让vscode支持。
参考官方文档: https://golang.org/doc/install/source#environment 1) 下载 go1.4-bootstrap-20171003.tar.gz (注,其他版本 1.4编译可能会有问题) 2) 编译1.4 $ cd /path/to/go1.4/src $ GOOS=darwin GOARCH=amd64 GOROOT_BOOTSTRAP=/path/to/go1.4 /make.bash 3) 编译指定版本go 下载: $ git clone https://go.googlesource.com/go $ cd go $ git checkout go1.11.4 编译: $ cd /path/to/go1.11.4 $ .
2.Go变量 1.什么叫变量 在前面的讲解案例中,我们是让计算机输出数据到屏幕上,那么有同学可能就要问了,怎样让计算机保存我们通过键盘输入的数据呢?这就要用到变量了。 // 问题2:以下程序的输出结果是多少? } 但是这种方式写起来非常的复杂,可以用如下的方式进行简化: a, b, c := 1, 2, 3 fmt.Println(a, b, c) 将1的值赋值给a,将2的值赋值给b,将3的值赋值给c. 那么我们GO语言怎样接收用户的键盘输入呢? 除了上面提到的规范要求以外,GO语言自己特有的,具有一定含义的一些字符,也不能作为变量名称。
这节讲一下go语言的变量定义。go是静态语言类型,不像python、php语言,它不能在运行期间改变变量的类型(除非进行类型转换,参见 go语言入门扩展--4种类型转换)。 type // x1,x2为同类型var x1, x2 = val1, val2 // x1,x2可以为不同类型,具体类型由编译器根据右边的值进行推断x1, x2 := val1, val2 // i = 2=号左边计算可确定的内存地址: i, dataList[2] =号右边计算可确定的值: dataList[2] , 222因而这个语句等效于:i, dataList[2] = dataList // 同时提供多个iotaconst (m1, n1 = iota, iota // m1=0 n1=0m2, n2 // m2=1 n2=1m3, n3 = "hello", iota // 打断第一个 ("m1=", m1, "n1=", n1) //m1= 0 n1= 0fmt.Println("m2=", m2, "n2=", n2) // m2= 1 n2= 1fmt.Println("m3="
下载安装包到官网找到go的安装包,根据操作系统和架构,选择对应的包。 ~/.bash_profile将/usr/local/go/bin添加到PATH中如果环境中已经存在预装的其他版本的go,又想优先使用新安装的版本。 那么可以把/usr/local/go/bin添加到PATH的前面go环境的一些配置go env -w GO111MODULE="on"go env -w GOPROXY="https://goproxy.cn 这个值一般不需要修改GOROOTgo语言的安装目录,这个值切记不用修改,保持默认即可GOSUMDB官方设定的go module校验库。服务器地址为sum.golang.org。 和go.mod一样,go会为我们维护一个go.sum的文件,它包含了对依赖包计算得到的校验值。当本地依赖进行变动时(更新/添加)操作时,go会自动去这个服务器进行数据校验。