一、Golang中的反射基本使用

Go中也提供了反射机制,与Java一样Go的反射也是在运行时获取对象的相关信息,更新对象内部状态;Golang通过反射可以获取对象类型、字段类型与值、调用struct实例方法、更新实例值等; Go关于反射相关的对象、函数都在reflect包中最主要的两个为:Type与Value; Go提供了下面两个 ...

go build 与go install

相同点都能生成可执行文件 不同点go build 不能生成包文件, go install 可以生成包文件go build 生成可执行文件在当前目录下, go install 生成可执行文件在bin目录下($GOPATH/bin) go build 经常用于编译测试.go install主要用于生产库 ...

为什么要设置GOROOT/GOPATH

设置GOROOT的原因 编译器的位置指定的时候,需要指定GO开发包的安装位置,然后设置环境变量PATH的时候,需要指定到安装包下的bin目录,其中就有以下的编译/执行器.所以GOROOT指定了前面的路径. 当使用go run 源码,自动化的完成编译和执行二进制文件的时候.源码必须放在当前运行go解释 ...

Istio DestinationRule 目标规则

概念及示例 与 一样, 也是 Istio 流量路由功能的关键部分。您可以将虚拟服务视为将流量如何路由到给定目标地址,然后使用目标规则来配置该目标的流量。在评估虚拟服务路由规则之后,目标规则将应用于流量的“真实”目标地址。 特别是,您可以使用目标规则来指定命名的服务子集,例如按版本为所有给定服务的实例 ...

Istio VirtualService 虚拟服务

概念及示例 描述了一个或多个用户可寻址目标到网格内实际工作负载之间的映射 。 虚拟服务让您配置如何在服务网格内将请求路由到服务,这基于 Istio 和平台提供的基本的连通性和服务发现能力。每个虚拟服务包含一组路由规则,Istio 按顺序评估它们,Istio 将每个给定的请求匹配到虚拟服务指定的实际目 ...

go语言获取命令行参数

go语言获取命令行参数 os.Args 这是符合简单使用的方式。 package main import ( "fmt" "os" ) func main() { fmt.Println(os.Args) } 编译后并在命令行中输入:./args_test par1 par2 par3,会以空格分割 ...

[Go] golang http下返回json数据

需求返回json格式编码的结构体 , 需要返回content-type 返回不同的响应码 结构体的定义 ,因为可导出的结构体 ,必须大写,如果要小写 ,就得加这个别名 type JsonResult struct{ Code int `json:"code"` Msg string `json:"m ...

Win10下go安装和和环境变量配置记录

1.下载和安装 下载地址:https://golang.google.cn/dl/ 安装,配置好想要安装的路径,本次使用的C:\Go,然后一直下一步。 2.环境变量配置win10 我按的这个版本不配置应该也能运行。但是想把工作目录改到D盘,干脆再配一遍。 ①右键我的电脑->属性->高级系统设置->环 ...

给你的日志加点颜色吧

这两天工作上有点清闲,就又开始了搞东搞西的生活。忽然想起之前给上家公司日志添加了颜色,咱们也加上吧。 先找到之前的颜色定义代码: 1 const ( 2 black = uint8(iota + 90) 3 red 4 green 5 yellow 6 blue 7 magenta 8 cyan 9 ...

15. 理解 Go 语言面向对象编程:结构体与继承

Hi,大家好,我是明哥。 在自己学习 Golang 的这段时间里,我写了详细的学习笔记放在我的个人微信公众号 《Go编程时光》,对于 Go 语言,我也算是个初学者,因此写的东西应该会比较适合刚接触的同学,如果你也是刚学习 Go 语言,不防关注一下,一起学习,一起成长。 我的在线博客:http://g ...

API 网关 Kong

什么是 API 网关? 所谓网关,主要作用就是连接两个不同网络的设备,而今天所讲的 API 网关是指承接和分发客户端所有请求的网关层。 为什么需要网关层?最初是单体服务时,客户端发起的所有请求都可以直接请求到该服务,但随着产品用户越来越多,单体应用存在显而易见的单点问题,除此之外,当单体应用大小升至 ...

如何使用 frp 实现内网穿透

这有一个专注Gopher技术成长的开源项目 "「go home」" 背景 作为一名程序员,家里多多少少会有一些落了灰的电脑,如果把闲置的电脑变成服务器,不仅有良好的配置,还能用来做各种测试,那就再好不过了。但是局域网的设备怎么被外网访问呢?这就靠内网穿透来实现了。 内网穿透又叫 "NAT" 穿透,常 ...

通俗易懂:说说 Python 里的线程安全、原子操作

首发于微信公众号:Python编程时光 在线博客地址:http://python.iswbm.com/en/latest/c01/c01_42.html 在并发编程时,如果多个线程访问同一资源,我们需要保证访问的时候不会产生冲突,数据修改不会发生错误,这就是我们常说的 线程安全 。 那什么情况下,访 ...

GO学习Day1

golang语言特性 1. 垃圾回收 a. 内存自动回收,再也不需要开发人员管理内存 b. 开发人员专注业务实现,降低了心智负担 c. 只需要new分配内存,不需要释放 2. 天然并发 a . 从语言层面支持并发,非常简单 b. goroute,轻量级线程,创建成千上万个goroute成为可能 c. ...

14. Go 语言中的类型断言是什么?

Hi,大家好,我是明哥。 在自己学习 Golang 的这段时间里,我写了详细的学习笔记放在我的个人微信公众号 《Go编程时光》,对于 Go 语言,我也算是个初学者,因此写的东西应该会比较适合刚接触的同学,如果你也是刚学习 Go 语言,不防关注一下,一起学习,一起成长。 我的在线博客:http://g ...

Kubernetes 基础资料

概述 这篇文章用来记录Kubernetes 的基础资料,整体以最新官方文档为准。 因为k8s整体比较偏运维,作为研发可先大致了解其概念及初级使用方式,后面重点学习点会放在service mesh 上。因为 目前的架构依赖k8s相关组件,后面在学习 的过程中使用到k8s具体组件后再回过头来针对性的学习 ...

【Go语言系列】2.4、Go语言基本程序结构:数据类型

Go 语言是一种静态类型的编程语言。这意味着,编译器需要在编译时知晓程序里每个值的类型。数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。 Go语言内置以下这些基础类型: 布尔类型:bool 整型:int8、byte、int16、 ...

Istio Sidecar

概念及示例 描述了sidecar代理的配置。默认情况下,Istio 让每个 Envoy 代理都可以访问来自和它关联的工作负载的所有端口的请求,然后转发到对应的工作负载。您可以使用 "sidecar" 配置去做下面的事情: 微调 Envoy 代理接受的端口和协议集。 限制 Envoy 代理可以访问的服 ...

Let's GO(一)

近来开始学Go,留此博客以记录学习过程,顺便鞭策自己更加努力。 人生苦短,Let's GO! "Let's GO(一)" "Let's GO(二)" "Let's GO(三)" "Let's GO(四)" 简单介绍 "The Go Programming Language" Go(又称Golang) ...

<1···789···36>