go那些事儿|go反射使用第二弹(ValueOf)

目录概念ValueOf使用格式反射获取值对象(ValueOf)通过canSet方法修改值判断及获取元素的相关方法值修改相关方法值修改条件:可寻址结构体值的非导出字段不能通过反射来修改通过ValueOf访问成员对象闲聊欢迎加入我的公众号【迈莫coding】 一起pk大厂概念在程序运行期间,如果想要获取某个接口所代表的值,那么可以使用 reflect.ValueOf 进行获取,使用方式和 reflect.TypeOf 函数使用方式类型,都是传入一个interface{}接口的参数。当我们将一个接口值...阅读全文

51CTO博客 2021-01-18 13:22:22 mb6004f6df2b07a

【Go从学会到学废】(一) 下载、安装、配置

一、下载Go语言官方网站地址Go语言中文网下载地址二、安装双击安装包,一直下一步就行安装完成三、配置1.配置Go运行目录2.配置GoPath3.配置路由(可要可不要)如果您使用的 Go 版本是 1.13 及以上 (推荐)go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.io,direct如果您使用的 Go 版本是 1.12 及以下Bash (Linux or macOS)# 启用 Go Modules 功能 export GO1...阅读全文

51CTO博客 2021-01-18 13:02:21 mb5ffbc8f4a5a17

【Go从学会到学废】(零) Golang简介

Go 语言简介Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。Go 语言特色简洁、快速、安全并行、有趣、开源内存管理、数组安全、编译迅速Go 语言的优势可直接编译成机...阅读全文

51CTO博客 2021-01-18 12:59:08 mb5ffbc8f4a5a17

windows下如何玩转火热的go-zero

前言go-zero 是一个集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验。go-zero 包含极简的 API 定义和生成工具 goctl,可以根据定义的 api 文件一键生成 Go, iOS, Android,Kotlin, Dart, TypeScript, JavaScript 代码,并可直接运行。这么牛,怎么不想去试一下?!go语言环境搭建配置GO语言环境新增go的代理GOPROXY=https://goproxy.io,dir...阅读全文

51CTO博客 2021-01-18 12:48:18 mb5ffbc8f4a5a17

惊喜来袭!253页全彩免费电子书《Python 编程参考》正式上线发布并提供原稿PDF

这是一本写给开发者的⼯作必备基础书籍,开放在线阅读和 PDF 原稿下载,全书共 253 页/彩色 。大家好,我是韦世东,一名由运营转行的 Python/Golang/Rust 开发者。我自己的学习之旅走过许多弯路,也得到很多群友(这里特别点名我的 Python 指路人大鱼唐轶飞)的帮助。因此在经过一段时间的沉淀后决定把自己所掌握的一些技术相关知识归纳整理,期望能够帮助到和我一样热爱学习的朋友。多年以前初入技术江湖,崔庆才跟我说“希望以后你也能够帮助那些有需要的人”,我铭记于心,付诸实践。完整目录...阅读全文

Segmentfault 2021-01-21 09:32:34 .container .car 等

使用 Go Modules

Go 的包管理一直被人诟病,有人提出过解决方法,比如 godep、govendor 等工具,但在 G1.11 版本中,Go 官方很霸道的提出了 Go Module 方案,虽然被人吐槽,但现在已经成为事实上的包管理方案。Go 官方也通过一系列的博客来介绍 Go Modules,这是系列的第一篇文章。简介这个系列的文章总共有 5 篇,这是第一篇:使用 Go Modules迁移到 Go Modules发布 Go ModulesGo Modules:V2 及后续版本保持 Modules 的兼容性Go1....阅读全文

51CTO博客 2021-01-18 10:36:20 mb5ffbc8f4a5a17

2021第一季度王胖&万大宝OKR

开始时间 2021 年 1 月 18 日早上7点 结束时间 2021 年 3 月 31 日晚上9点 达成百分之 90 为及格 王胖 目标1 减肥 指标1 体重降到120斤 目标2 阅读基督山伯爵 指标1 阅读50% 目标3 总结之前阅读的专业书籍 指标1 之前阅读的一本,总结感悟到公众号,发表2篇 目标4 看一本史书80% 万大宝 目标1 - 阅读极客时间林晓斌关于mysql的文章 指标1 阅读85% 指标2 自己的阅读感悟,发表70%文章 目标2 - golang gin的使用 指标1 gin...阅读全文

简书 2021-01-18 11:40:19 王小兰爱邓伦

以大见小 - Rust快速实践(一)

目标 被内存安全与极致性能的特性所吸引,前段时间简单了解了一下Rust 语言,然后就更加好奇起来。元旦也出不去就决定进一步学习一下。不想纠结于过多的语言细节,给自己定了一个明确的目标:开发出一个小工具(开源:Ratchet http/https 服务监控)。 这次完成了一些基本功能,对Rust语言有了初步理解,也收集了一些资料,本文做一个整理。然后继续深入学习和迭代完善。 文章难免有错误或疏漏,欢迎指正。如果对内容有意见或建议,或者新的参考资料或信息也希望能留下评论或发给我,我会进一步更新和完善...阅读全文

简书 2021-01-18 11:40:19 卷边芝士

小白也会的内网穿透教程(centos版)

服务端操作系统:centos7 使用到的命令: yum install gcc -y 安装编译环境 yum install git -y 安装git 下载代码用的 yum install golang 安装golang语言 如果提示没有安装包则先执行 rpm --import https://mirror.go-repo.io/centos/RPM-GPG-KEY-GO-REPO 和 curl -s https://mirror.go-repo.io/centos/go-repo.repo | ...阅读全文

简书 2021-01-18 11:40:19 maoyu06

Golang 之 我被 for-range 循环进去了

看个例子 在我们平时的代码场景中,常常需要改变切片中某个元素的值,先来看一下常见的代码实现方式: package main import "fmt" func test1() { slice1 := []int{1, 2, 3, 4} for _, val := range slice1 { val++ } fmt.Println(slice1) } func test2() { slice2 := []int{1, 2, 3, 4} for k, _ := range slice2 { sli...阅读全文

简书 2021-01-18 11:40:14 大叔说码

Golang 之 struct能不能比较

struct能不能比较? 很显然这句话包含了两种情况: 同一个struct的两个实例能不能比较? 两个不同的struct的实例能不能比较? 划重点 在分析上面两个问题前,先跟大家梳理一下golang中,哪些数据类型是可比较的,哪些是不可比较的: 可比较:Integer,Floating-point,String,Boolean,Complex(复数型),Pointer,Channel,Interface,Array 不可比较:Slice,Map,Function 下面就跟大家分别分析一下上面两种...阅读全文

简书 2021-01-18 11:40:14 大叔说码

Golang依赖注入框架wire的使用

Wire wire是google开源的依赖注入框架。 安装 $ go get github.com/google/wire/cmd/wire 上面的命令会在$GOPATH/bin中生成一个可执行程序wire,把$GOPATH/bin加入系统环境变量$PATH中,就可以直接在命令行中执行wire命令。 使用 项目在初始化的时候需要初始化很多依赖,如果相关依赖很多,就可以使用wire。 例如: 使用wire 新建文件wire.go 运行wire命令,则可以生成文件wire_gen.go。 就可以直接...阅读全文

简书 2021-01-18 11:40:14 zfh_51d2

GitHubGameOff 2020作品:Golang实现的月球发射游戏

image.png Game Off是一年一度的游戏活动,参与者在11月期间根据一个秘密主题创造游戏。 2020年的主题是月球发射(MOONSHOT)。 作者基于Golang,使用自己写的游戏引擎,并使用OpenGL作为图库开发了这款游戏。 构建 make build 运行 ./moonshot 目前只在Ubuntu 20.04经过测试。 源码地址:https://github.com/lallassu/moonshot GitHubGameOff 2020活动地址:https://itch.i...阅读全文

简书 2021-01-18 11:39:15 翟志军

一个小时学会用 Go 编写命令行工具

前言最近因为项目需要写了一段时间的Go,相对于Java来说语法简单同时又有着一些Python之类的语法糖,让人大呼”真香“。 但现阶段相对来说还是Python写的多一些,偶尔还得回炉写点Java;自然对Go也谈不上多熟悉。于是便利用周末时间自己做个小项目来加深一些使用经验。于是我便想到了之前利用Java写的一个博客小工具。那段时间正值微博图床大量图片禁止外链,导致许多个人博客中的图片都不能查看。这个工具可以将文章中的图片备份到本地,还能将图片直接替换到其他图床。 我个人现在是一直在使用,通常是在...阅读全文

简书 2021-01-18 11:38:59 半壶雪

01_Linux

1.初始Linux 1.1.操作系统 image.png image.png 1.2.主流的操作系统 image.png 1.3.发展历程 image.png image.png 1.4.什么是Linux image.png 1.5.Linux的特点 image.png 1.6.Linux发行商和常见发行版本 image.png 1.7.CentOS image.png image.png 2.Linux的安装与使用 2.1.VMware简介 image.png image.png 2.2.VM...阅读全文

简书 2021-01-18 11:38:57 广坤丶叔

Go中的SSRF攻防战

来自公众号:新世界杂货铺写在最前面“年年岁岁花相似,岁岁年年人不同”,没有什么是永恒的,很多东西都将成为过去式。比如,我以前在文章中自称“笔者”,细细想来这个称呼还是有一定的距离感,经过一番深思熟虑后,我打算将文章中的自称改为“老许”。关于自称,老许就不扯太远了,下面还是回到本篇的主旨。什么是SSRFSSRF英文全拼为Server Side Request Forgery,翻译为服务端请求伪造。攻击者在未能取得服务器权限时,利用服务器漏洞以服务器的身份发送一条构造好的请求给服务器所在内网。关于内...阅读全文

Segmentfault 2021-01-21 09:32:33 .container .car 等

Go基础及语法(一)

var变量, const常量,if判断与for循环,基本数据类型(int, string, bool等)目录Go语言文件基础语法var变量3种变量声明方式:const常量iota实现枚举if判断与for循环判断与多种循环的方法基本数据类型Go语言文件基础语法package main //管理定义模块 import "fmt" //导入模块 /* 主函数 打印Hello,world! */ func main() { fmt.Println("Hello,world!") }var变量3种变量声明...阅读全文

51CTO博客 2021-01-18 09:45:30 mb5ffbc8f4a5a17

ARTS - 21 LeetCode 322 零钱兑换 | 分布式系统经典学习资料

ARTSARTS 是陈浩(网名左耳朵耗子)在极客时间专栏里发起的一个活动,目的是通过分享的方式来坚持学习。每周写一个 ARTS:Algorithm 是一道算法题,Review 是读一篇英文文章,Technique/Tips 是分享一个小技术,Share 是分享一个观点。本周内容Algorithm这周的算法题是 DP 入门题: LeetCode 322 零钱兑换.应该是动态规划最常见的题目之一了, 具体的解题思路可以先从递归的方式来. 即, 假定凑出总额为 i 所需的最少金币数量为 dp[i]. ...阅读全文

Segmentfault 2021-01-20 23:32:33 .container .car 等