5 爱特李斯特

尚未进行身份认证

我要认证

每一个不曾起舞的日子,都是对生命的辜负

等级
TA的排名 9k+

golang结构体tag的使用

tag是结构体的元信息,可以在运行的时候通过反射机制读取出来1、tag定义格式:(tag在结构体字段的后方定义,由一对反引号包裹起来,不同的键值对之间使用空格分隔) `key1:"value1" key2:"value2"`2、指定字段名(序列化与反序列化默认情况下使用结构体的字段名,我们可以通过给结构体字段添加tag来指定json序列化生成的字段名) // 使用json tag指定json序列化与反序列化时的行为 type Person struct { Name .

2020-06-24 17:27:30

golang的结构体,字典与json字符串之间的相互转换,json.Marshal()与json.Unmarshal()函数

package mainimport ( "encoding/json" "fmt")type User struct { Name string Age int64 Height float64 Weight float64}func main() { user := User{ Name: "小花", Age: 18, Height: 162, Weight: 42, } // struct--转-->json string.

2020-06-24 15:04:55

ubantu20.04安装指定版本的Go环境

1、下载地址 安装包下载地址为:https://golang.org/dl/ 或者 https://golang.google.cn/dl/ 选择 go1.14.4.linux-amd64.tar.gz下载2、解压到/usr/local目录 $ sudo tar -zxvf go1.14.4.linux-amd64.tar.gz -C /usr/local 3. 设置环境变量 $ sudo vim /etc/profile # 在文件末尾加上路径 export GOROOT=/usr/.

2020-06-19 11:28:45

Go Modules 详解使用(Go Module是Go依赖管理的未来)

1、先设置Go国内加速镜像 # 启用 Go Modules 功能 $ go env -w GO111MODULE=on # 配置 GOPROXY 环境变量 $ go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/2、创建一个新的目录,任意位置 $ mkdir goapi3、初始化goapi, 成功之后你会发现目录下会生成一个go.mod文件 $ cd goapi $ go mo.

2020-06-17 12:22:30

Go 国内加速镜像

Go 生态系统中有着许多中国 Gopher 们无法获取的模块,比如最著名的golang.org/x/...,并且在中国大陆从 GitHub 获取模块的速度也有点慢,因此设置 CDN 加速代理就很有必要了在 Linux 或 macOS 上面,需要运行下面命令(或者,可以把以下命令写到 .bashrc 或 .bash_profile 文件中)# 启用 Go Modules 功能go e...

2020-04-26 12:06:09

go接口类型(interface)

接口 (Interfaces) 是命名了的方法签名 (signatures) 的集合package mainimport "fmt"import "math"// 这里是一个几何体的基本接口。type geometry interface { area() float64 perim() float64}// 在我们的例子中,我们将在类型 `rect` 和 ...

2020-04-26 09:38:05

go安装grpc及依赖( unrecognized import path "google.golang.org/grpc" )一直报这个错误

报错信息如下:package google.golang.org/grpc: unrecognized import path "google.golang.org/grpc" (https fetch: Get https://google.golang.org/grpc?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)报这个错误说明缺...

2020-01-15 09:42:45

golang循环语句

(1)for循环 var i,sum int for i = 1; i <= 10; i++ { sum+=i } fmt.Println("sum=",sum) (2)for ... range 关键字 range 会返回两个值,第一个返回值是元素的数组下标(key),第二个返回值是元素的值(value): s := "abc" // a.打...

2020-01-13 15:29:51

golang defer关键字的基本使用

1、函数一经调用立即执行 fmt.Println("hello") fmt.Println("哈哈") 输出结果======>> hello 哈哈 2、关键字 defer⽤于延迟一个函数的执行,defer语句只能出现在函数的内部 为了保证文件的关闭能够正确执行,可以使用defer,先打开文件,...

2019-12-26 14:27:22

国内下载golang.org/x/net

因为goggle被墙,国内无法访问golang.org,所以无法使用golang官方工具包,怎么办呢?golang.org/x/ ,其实镜像托管在 github.com/golang/可以先将Github的包下载到本地后,然后移动到相应的文件夹中GOPATH="/var/www/html/letgo/gogogo"如:net -->> $GOPATH/src/gola...

2019-12-21 11:27:21

计算机网络通信基础知识总结(TCP/IP协议体系)

一、数据通信:通过某种传输媒介(例如电缆,光缆,双绞线等)进行数据交换(以0、1形式表示)的过程,包括本地通信和远程通信。 1、数据通信系统的有效性基于三个基本方面: (1)传递,系统能够将数据从传递到正确的接收方。 (2)正确,系统能够保证传输消息的准确。 (3)及时,系统能够满足视音频和数据的实时传输。 2、数据通信系统的组成部分 (1)消息,需要通信的...

2019-12-19 16:06:22

golang函数make(),new()区别与使用

1、make()函数的作用,给切片slice,字典map,通道channel初始化,在内存中开辟一块空间 # 声明一个切片,未初始化前没有内存空间,所以为nil(nil切片不能直接赋值),返回值为空切片 var sli []string # 使用make()初始化切片(初始化切片的长度和容量),初始化以后就有了自己的内存空间, # 所以不是nil(非nil切片可以直接赋值),返...

2019-12-18 10:03:22

Go常用包整理及介绍

1、net/http http.HandleFunc() 设置动态路由 http.ListenAndServe() 启动一个服务 w http.ResponseWriter 用于向用户返回数据的ResponseWriter对象 r *http.Request 用于接收用户请求的Request对象指针 // 简单的http请求直接用http.G...

2019-12-05 09:15:37

JavaScript操作Cookie

Cookie实质上是一串字符串,记录用户信息,因为http协议是无状态协议,引入Cookie是为了记住用户的登录状态信息,如用户名,密码,登陆时间,购物车等;JavaScript操作Cookie 创建cookie:document.cookie="username=John Doe";(键值对赋值,username,expires,path等) 删除cookie:默认情况下...

2019-11-25 10:20:04

进程,线程,协程的区别,并发与并行的区别

1、运行一个程序就会产生一个进程,一个进程至少包含一个线程;2、每启动一个进程,系统都会为其分配地址空间,建立数据表来维护代码段、堆栈段和数据段;3、进程下的多个线程没有独立的地址空间,它们使用相同的地址空间共享数据,同一个进程下,线程共享全局变量,静态变量等数据;4、多进程程序更安全,生命力更强,一个进程死掉不会对另一个进程造成影响(源于有独立的地址空间);5、线程程序更不易维护...

2019-11-20 14:10:21

网络通信协议详解

1,网络通信协议:是指两个(或多个)终端之间信息交换和资源共享所遵守的规则(多个客户端,手机,电脑,ipad,之间的通信需要大家都懂的语言,就相当于人与人之间的交流有中文,英文); 举例说明: 例如一个手机和一个电脑进行通信,由于这两个数据终端所用字符集不同,因此所输入的命令彼此不认识。为了能进行通信,规定每个终端都要将各自字符集中的字符先变换为标准字符集的字符后,才进入网...

2019-11-15 10:28:10

创建一个beego项目,目录结构如下,路由,控制器,数据模型

1、创建一个新项目 bee new gowork 典型的MVC架构,目录结构如下 gowork |-- conf | `-- app.conf |-- controllers | `-- default.go ----------------控制器逻辑文件 |-- main.go -----------...

2019-11-09 11:29:32

python中requests库使用方法详解

1、标准的restful接口调用 (1)requests.post方法调三方接口(用的是data) r = requests.post(url + 'company/add_friend/', data={'id': zid, 'com_key': com_key}) # 这一步将返回值转成json key = json.loads(r.text) (2...

2019-11-06 17:16:13

go语言,将已有的文件复制一份,同时重新命名实现方法

基本的思路: (1)让用户输入要拷贝的文件的名称(源文件)以及目的文件的名称 (2)创建目的文件 (3)打开源文件,并且读取该文件中的内容 (4)将从源文件中读取的内容写到目的文件中实现代码: var srcFileName string var dstFileName string fmt.Printf("请输入源文件名称:") fmt.Scan(&srcFileNa...

2019-10-29 16:41:27

GO文件操作详解

package main// 1、导入"os"包,创建,读,写文件的函数都在该包import ( "fmt" "os")func main() { // 2、创建文件,可以写绝对路径或者相对路径 fp,err := os.Create("./a.txt") // Create()方法默认返回两个参数,文件指针和错误信息 if err!=nil{ // 路径不存在; 文...

2019-10-29 16:08:07

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。