runtime go

Go语言百万高薪开发架构师一线大牛亲授+企业项目实战+云原生架构核心

Go语言百万高薪开发架构师一线大牛亲授+企业项目实战+云原生架构核心 第1章 云原生架构 1.1 云计算的历史 1.1.3 容器的横空出世和容器编排大战 上一次我们 提到了PaaS,PaaS的开源产品Docker对云计算领域产生了深远的影响,从虚拟机到容器,整个云计算市场发生了一次重大变革。 容器化 ......
架构 实战 一线 高薪 核心

go 里面数组切片[:] 底层是复制一个新的

package ethereum import ( "testing" "unsafe" ) func Test1(t *testing.T) { a := "dafasdf" b := a[:] println(unsafe.Pointer(&a)) //0xc000063e78 println( ......
数组 底层 go

go协程的2+1

go协程使用心得-go协程的2+1 go协程只做两件事:执行逻辑函数、监听执行状态并且控制流程 go协程一次只做一件事:执行逻辑函数或监听执行状态并且控制流程 1 func TestCtx(t *testing.T) { 2 ctx, cancel := context.WithTimeout(co ......

Go可以做到同等并发能力么?具体代码如何写?

原创 磊丰 Go语言圈 2023-09-05 08:30 发表于广东 收录于合集#学Go语言哪些事儿231个 MySQL大牛 带你全面剖析与系统梳理数据库(mysql等)知识分享,总结数据库技巧和方法,提升你的技术技能。 45篇原创内容 公众号 JetBrains全家桶正式版激活码&账号开通授权,支 ......
能力 代码

Go标准库Context

在 Go http包的Server中,每一个请求在都有一个对应的 goroutine 去处理。请求处理函数通常会启动额外的 goroutine 用来访问后端服务,比如数据库和RPC服务。用来处理一个请求的 goroutine 通常需要访问一些与请求特定的数据,比如终端用户的身份认证信息、验证相关的t ......
Context 标准

09Go语言基础之函数

函数是组织好的、可重复使用的、用于执行指定任务的代码块。本文介绍了Go语言中函数的相关内容。 函数 Go语言中支持函数、匿名函数和闭包,并且函数在Go语言中属于“一等公民”。 函数定义 Go语言中定义函数使用func关键字,具体格式如下: func 函数名(参数)(返回值){ 函数体 } 其中: 函 ......
语言基础 函数 语言 基础 09

16Go语言基础之接口

接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节。 接口 本章学习目标 了解为什么需要接口以及接口的特点 掌握接口的声明和使用 掌握接口值的概念 掌握空接口的特点及其使用场景 在Go语言中接口(interface)是一种类型,一种抽象的类型。相较于之 ......
语言基础 接口 语言 基础 16

Go语言标准库log介绍

无论是软件开发的调试阶段还是软件上线之后的运行阶段,日志一直都是非常重要的一个环节,我们也应该养成在程序中记录日志的好习惯。 log Go语言内置的log包实现了简单的日志服务。本文介绍了标准库log的基本使用。 使用Logger log包定义了Logger类型,该类型提供了一些格式化输出的方法。本 ......
语言 标准 log

08Go语言基础之map

Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现。 map map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。 map定义 Go语言中 map的定义语法如下: map[KeyType]ValueType 其中, KeyType ......
语言基础 语言 基础 map 08

12Go语言基础之结构体

Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。 类型别名和自定义类型 自定义类型 在Go语言中有一些基本的数据类型,如string、整型、浮点型、布尔等数据类型, Go语言中可以使用type关键字来定义自定义 ......
语言基础 语言 结构 基础 12

Go语言基础之error接口

Go 语言中的错误处理与其他语言不太一样,它把错误当成一种值来处理,更强调判断错误、处理错误,而不是一股脑的 catch 捕获异常。 Error接口和错误处理 Error 接口 Go 语言中把错误当成一种特殊的值来处理,不支持其他语言中使用try/catch捕获异常的方式。 Error 接口 Go ......
语言基础 接口 语言 基础 error

Go语言标准库flag基本使用

Go语言内置的flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简单。 os.Args 如果你只是简单的想要获取命令行参数,可以像下面的代码示例一样使用os.Args来获取命令行参数。 package main import ( "fmt" "os" ) //os.Args demo ......
语言 标准 flag

10Go语言基础之指针

区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。 要搞明白Go语言中的指针需要先知道3个概念:指针地址、指针类型和指针取值。 Go语言中的指针 任何程序数据载入内存后,在内存都有他们的地址,这就是指针。而为了保存一个数据在内存中的地址,我们就需要指针变量。 比如,“永远不要 ......
语言基础 指针 语言 基础 10

06Go语言基础之数组

本文主要介绍Go语言中数组(array)及它的基本使用。 Array(数组) 数组是同一种数据类型元素的集合。 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。 基本语法: // 定义一个长度为3元素类型为int的数组a var a [3]int 数组定义: var ......
语言基础 数组 语言 基础 06

07Go语言基础之切片

本文主要介绍Go语言中切片(slice)及它的基本使用。 引子 因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性。 例如: func arraySum(x [3]int) int{ sum := 0 for _, v := range x{ sum = sum + v } ......
语言基础 语言 基础 07 Go

05Go语言基础之流程控制

流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。 Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码、降低重复代码而生的结构,属于扩展类的流程控制。 if else(分支结构) if条件判断基本写法 Go语言中if条件判断 ......
语言基础 语言 基础 05 Go

04Go语言基础之运算符

运算符用于在程序运行时执行数学或逻辑运算。 运算符 Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 算术运算符 运算符 描述 + 相加 - 相减 * 相乘 / 相除 % 求余 注意: ++(自增)和--(自减)在Go语言中是单独的语句,并不是运算符。 关系运算符 ......
语言基础 运算符 语言 基础 04

4如何使用go module导入本地包

go module是Go1.11版本之后官方推出的版本管理工具,并且从Go1.13版本开始,go module将是Go语言默认的依赖管理工具。到今天Go1.14版本推出之后Go modules 功能已经被正式推荐在生产环境下使用了。 这几天已经有很多教程讲解如何使用go module,以及如何使用g ......
module

02Go语言基础之变量和常量

变量和常量是编程中必不可少的部分,也是很好理解的一部分。 标识符与关键字 标识符 在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。 举几个例子:abc, _, _123, a123。 关键字 ......
语言基础 常量 变量 语言 基础

03Go语言基础之基本数据类型

Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组、切片、结构体、函数、map、通道(channel)等。Go 语言的基本类型和其他语言大同小异。 基本数据类型 整型 整型分为以下两个大类: 按长度分为:int8、int16、int32、int64 对应的无符号整型:ui ......
语言基础 语言 类型 基础 数据

1从零开始搭建Go语言开发环境

Go1.14版本,一步一步,从零搭建Go语言开发环境。 因为Go语言及相关编辑工具的更新迭代,本文已于2021/05/12更新,可能会和视频有所出入,请以更新后的本文为准。 安装Go语言及搭建Go语言开发环境 注意:Go语言1.14版本之后推荐使用go modules管理依赖,也不再需要把代码写在G ......
语言 环境

2VS Code配置Go语言开发环境

VS Code是微软开源的一款编辑器,插件系统十分的丰富。本文就介绍了如何使用VS Code搭建Go语言开发环境。 因为Go语言及相关编辑工具的更新迭代,本文已于2020/03/25更新,可能会和视频有所出入,请以更新后的本文为准。 VS Code配置Go语言开发环境 说在前面的话,Go语言是采用U ......
语言 环境 Code 2VS VS

0为什么你应该学习Go语言

终于等到你!Go语言——让你用写Python代码的开发效率编写C语言代码。 为什么互联网世界需要Go语言 世界上已经有太多太多的编程语言了,为什么又出来一个Go语言? 硬件限制:摩尔定律已然失效 摩尔定律:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一 ......
语言

go项目

利用gin写一个blog(后端部分) 主框架:gin 数据库:gorm v1 前端:vue 数据加载框架:ini 加密:scrypt 总的来说gin框架是很好用的,我学的是gorm的v1版,在使用的时候感觉v1版确实不好用,另外实在vscode上开发的调试是真的麻烦,后面打算在ied上写,此外这个项 ......
项目

go学习

go学习 go的变量声明 var 变量名 type go语言中的变量是需要声明之后才能使用,同一作用域内不支持重复声明,并且go语言的变量声明后必须使用 批量声明: var( name string age int b bool ) 类型推断 var name="zhangsan" 批量初始化: v ......

Go定时任务实现

定时任务调度是常见的场景,从简单点本地任务调度,到分布式定时任务调度,被广泛的使用。本文汇总了 awesome-go 里全部的本地定时任务库,并横向对比其实现原理,以及使用场景和优缺点,欢迎收藏随时参考。 本文收纳的本地定时任务库如下: onatm/clockwerk withself/clockw ......
任务

Go--cron定时任务

Cron是Go中用于设置定时任务的一个库,需要注意的是,Cron库分两个大版本,v1.2和v3.0,其功能和go get地址都是不同的,注意区分。 v1.2官方文档:https://pkg.go.dev/github.com/robfig/cron v3官方文档:https://pkg.go.dev ......
任务 cron Go

分享一个项目:`learning_go_plan9_assembly`, 学习 golang plan9 汇编

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 近期在学习 golang plan9 汇编,总算基本做到了手写汇编,并整理了很多笔记。 plan9 汇编的资料少,难学,难用。可能也有想学习汇编的人会遇到与我 ......

Go语言基准测试(benchmark)三部曲之二:内存篇

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《Go语言基准测试(benchmark)三部曲》的第二篇,目标是掌握如何用基准测试来观察被测方法的内存分配情况 今天除了常规的操作,即指定 ......
三部曲 基准 benchmark 内存 语言