引言最近用 Go 写后端写得很开心, 写篇比较实用的博客总结下如何通过 Spring Cloud Config Server 管理 Go 程序中的配置. 实现并不复杂, 因此也可以很轻易地推广到其他语言的程序中.先来说说为什么要做集中配置管理. 在单体应用时代配置管理并不是什么大问题, 一般配置文件就和源码一起放在代码仓库中, 要查看或者修改直接到 conf 目录里找就完事儿了. 但到了微服务
转载
2024-02-02 09:49:00
116阅读
面向接口编程的利弊 对于大多数人来说, Google推出自己的编程语言应该不足为奇。 该公司一直积极地进军几乎可以想象到的每个技术领域,而且他们往往要彻底改变他们想要发展的领域。 自Go投入生产以来已经有十多年了,尽管它可能还没有像Python和JavaScript这样的语言的安装基础,但是Google的专有语言可以提供很多东西。 在决定选择该语言之前,这里是您需要考虑的所有内容。 优
转载
2023-10-30 21:26:40
59阅读
零、写在前面在 Go 语言实现 JVM(一)中,我们已经实现了简单的命令行工具,那这里我们就具体分析一下参数 classpath。 还是以经典的 HelloWorld 为例,我们大致分析一下 HelloWorld 是如何启动的:首先启动 java 虚拟机,然后加载主类,最后调用主类的 main() 方法。这是代码:public class HelloWorld {
public static v
转载
2023-11-08 17:44:00
13阅读
文章目录1. Go简介2. Go的数据类型2.1 布尔型2.2 数字类型2.3 字符串类型:2.4 派生类型:3. Go变量声明2.1 标准格式3.2 批量格式3.3 简短格式3.4 常量4. go循环语句5. go 条件语句 1. Go简介Go语言也称为 Golang,是由 Google 公司开发的一种静态强类型、编译型、并发型、并具有垃圾回收功能的编程语言。Go语言(或 Golang)起源于
转载
2023-10-18 09:18:30
270阅读
第001节:知名编程语言或系统的发展简史Go语言现在的前景怎么样?最受欢迎的语言Go,也称为Golang,是谷歌设计的一种编程语言。它为多线程提供了出色的支持,因此经常被严重依赖分布式系统的公司以及硅谷的初创公司使用。那些希望加入一家专注于核心系统的硅谷初创公司的人可能想学习Golang。难度级别:容易到中等职业前景:大量的机会;最适合那些知道自己希望自己的职业是什么的人优点:作为一种静态类型的语
转载
2023-06-14 21:09:48
155阅读
优点加粗标识均为需掌握知识点自带gc。静态编译,编译好后,扔服务器直接运行。简单的思想,没有继承,多态,类等。丰富的库和详细的开发文档。语法层支持并发,和拥有同步并发的channel类型,使并发开发变得非常方便。简洁的语法,提高开发效率,同时提高代码的阅读性和可维护性。超级简单的交叉编译,仅需更改环境变量。Go 语言是谷歌 2009 年首次推出并在 2012 年正式发布的一种全新的编程语言,可以在
转载
2023-09-01 08:51:08
30阅读
Go语言特征Go优点特征Go命名规则可见性Go声明Go的构建和编译 Go优点自带gc。静态编译,编译好后,扔服务器直接运行。简单的思想,没有继承,多态,类等。特征1.自动立即回收。 2.更丰富的内置类型。 3.函数多返回值。 4.错误处理。 5.匿名函数和闭包。 6.类型和接口。 7.并发编程。 8.反射。 9.语言交互性。Go命名规则Go的函数、变量、常量、自定义类型、包(package)的命
转载
2023-07-25 16:16:01
54阅读
如果说GO语言的数组为静态长度的数组,那么切片(slice)则为动态长度的数组一、基于数组创建切片1、存在一个整型数组intArr := [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10},那么下面的slice就是数组切片var slice []int = intArr[3:7]从图中可以看出切片从数组的第4个元素开始读取数据,直至第8个元素(但不包含第8个)。切记程序员
推荐
原创
2015-03-03 20:58:56
10000+阅读
点赞
2评论
GO语言中的复合类型除了数组、切片之外,还有一个map;说起map估计大家都不陌生,因为在Java、C++等语言中有它的身影,它以<key,value>的形式为程序员提供服务。从图中也可以看出:内存中存储了六个城市信息,其中key是城市电话区号,value是城市名称。对于城市电话区号(key)是唯一的,这样方便程序员对城市名称(value)进行增、删、改、查
原创
精选
2015-03-14 22:11:57
8760阅读
文章目录一、垃圾回收二、逃逸分析三、Go GC【重要】1.标记清除法2.三色标记法3.“强-弱” 三色不变式4.屏障机制5.混合写屏障机制场景1.对象被一个堆对象删除引用,成为栈对象的下游场景2.对象被一个栈对象删除引用,成为另一个栈对象的下游场景3.对象被一个堆对象删除引用,成为另一个堆对象的下游场景4.对象从一个栈对象删除引用,成为另一个堆对象的下游四、总结 对编程语言来说,GC 就是一个
转载
2023-09-05 23:13:40
169阅读
本文主要介绍Go语言中切片(slice)及它的基本使用。引子因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性。 例如:func arraySum(x [3]int) int{
sum := 0
for _, v := range x{
sum = sum + v
}
return sum
}这个求和函数只能接受[3]int类
转载
2023-12-29 14:38:38
60阅读
Go语言的特性与C语言相比,Go语言摒弃了语句必须以分号作为语句结束标记的习惯支持多重赋值:语句 i, j = j, i 可以交换变量i和变量j的值;函数支持多重返回值预定义itoa常量,该常量可以被编译器修改,在每一个const关键字出现时被重置为0,然后在下一个const出现之前,每出现一次iota,其所代表的数字会自动增1。以大写字母开头的变量、常量、函数在包外可见(public),以小写字
转载
2023-07-25 16:17:29
44阅读
并发与并行并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发。
并发:同一时间段内执行多个任务。
并行:同一时刻执行多个任务。
Go语言的并发通过goroutine实现。goroutine类似于线程,属于用户态的线程,我们可以根据需要创建成千上万个goroutine并发工作。goroutine是由Go语言的运行时(runtime)调度完成,而线程是由操作系统调度完成。非用户态的线程即
转载
2023-09-27 20:16:51
84阅读
目录 方法,接口及并发方法接口并发信道结束语 前言: go语言的第四篇文章,主要讲述go语言中的方法,包括指针,结构体,数组,切片,映射,函数闭包等,每个都提供了示例,可直接运行。方法,接口及并发方法方法就是一类带特殊的接收者(struct)参数的函数通过 结构体.方法 调用 示例:type city struct {
name, address string
}
func (c
转载
2023-11-20 21:22:40
111阅读
前言cgo 提供了 golang 和 C 语言相互调用的机制。几乎所有的编程语言都有C语言的影子,当然golang也不例外。可以看到golang的创始者们与C语言有着密切的联系。下面我们将通过快速入门小例子来掌握cgo的基本用法。最简cgo程序真实的cgo程序一般都比较复杂。不过我们可以通过一个小例子,了解一个最简的cgo程序该是什么样的。构造一个最简cgo程序,首先要忽视一些复杂的cgo特性,同
转载
2023-07-11 23:23:49
254阅读
并发编程·Go语言是原生支持语言级并发的,这个并发的最小逻辑单元就是goroutine。goroutine就是Go语言提供的一种用户态线程。·用户态线程是跑在内核级线程之上的,goroutine在运行时的调度是由Go语言提供的调度器来进行的,创建一个goroutine使用关键字go,go创建的goroutine不会阻塞主线程。进程、线程、协程的概念1.进程就是应用程序的启动实例。例如:打开一个软件
转载
2023-09-22 12:00:52
62阅读
文章目录goroutine(协程)1.进程和线程说明:2.并发和并行说明:3.go协程和go主线程:4.MPG 模式基本介绍5.设置golang运行的cpu数 goroutine(协程)1.进程和线程说明:进程就是程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本单位。线程是进程的一个执行实例,是程序执行的最小单元,它是比进程更小的能独立运行的基本单位。一个进程可以创建和销毁多个线程
转载
2023-10-24 00:29:00
68阅读
基本概念首先我们先了解几个与并发编程相关的概念。进程:程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立的单位。线程:操作系统调度执行的最小单位。协程:非操作系统提供而是由用户自行创建和控制的用户态线程,比线程更轻量级。Go语言中的并发程序主要是通过基于CSP的goroutine和channel来实现,当然也支持使用传统的多线程共享内存的并发方式。goroutineGoroutine
转载
2023-09-30 20:51:57
50阅读
在《【4】GO语言类型和为类型增加方法》里说过GO语言除了基础类型(如int、float64、complex128等)之外,还有复合类型,其中就包含本文的数组。对于数组大家都不陌生,在C语言中可以这样声明一个一维数组:int arr[10],那么GO语言是怎么定义的呢?一、数组的声明1、数组的声明格式为var arrName [num]type,比如:var strAr
原创
2015-03-01 20:30:11
10000+阅读
在写该文之前一直犹豫,是把Go的并发写的面面俱到显得高大尚一些,还是简洁易懂一些?今天看到一个新员工在学习Java,突然间想起第一次接触Java的并发时,被作者搞了一个云里雾里,直到现在还有阴影,所以决定本文从简。哈哈,说笑了,言归正传。 Go的并发真的很简单,所以本文不罗嗦进程、线程、协程、
原创
精选
2015-07-26 16:36:52
3371阅读
点赞