前言最近我负责了一个新项目,大概流程是从 DB 里拿出一堆数据之后,得到一个包含字段很多的结构体的 List,然后需要对这个 List 进行一系列的过滤,包括但不限于类似 sql 中的 where、group by、select 、按照某个字段排序、求并补交集之类的操作。如果让我自己写,我肯定是一个一个条件慢慢写,但是代码库我是接手的别人的,我看了下现有的实现,大呼牛逼,原来目前对于这种操作已经有
转载
2024-05-08 19:06:46
43阅读
这是本Golang系列教程的第三篇。本篇介绍Golang中的变量。你可以阅读 Golang教程:(二)Hello World 来学习如何建立 Go 工作空间以及编写和运行 hello world 程序。什么是变量变量(Variable)是给某个内存地址起的一个名字。我们用变量来存储某个特定类型的值。在 Go 中有多种声明变量的语法。声明单一变量声明一个变量的语法为:var name type,例如
转载
2024-10-23 06:34:32
34阅读
GoLang学习笔记(二) GoLang基础一、包Go程序从 main 包开始运行,程序内通过导入路径来使用其他的包。Go中的约定是,包名与导入路径的最后一个元素一致。如"math/rand"包中的代码都是以package rand开头package main//main包 程序运行
//包的导入
import (
"fmt"
"math/rand"
)
func main() {
fm
转载
2024-09-10 21:45:27
33阅读
文章目录一、创建项目仓库二、拉去仓库,编辑代码三、推送与发布代码四、使用发布的第三方包小结 一、创建项目仓库1.输入仓库的名字,我这里输入simpleExample,用来做演示 2.选择public,公开。要不并不好拉 3.选择需要添加的文件(可选) 4.点击create repository创建此仓库完成后就有一个名为simpleExample的项目仓库,如下图所示。二、拉去仓库,编辑代码1.
转载
2024-03-18 12:46:04
289阅读
Go语言项目十分重视代码的文档,在软件设计中,文档对于软件的可维护和易使用具有重大的影响。因此,文档必须是书写良好并准确的,与此同时它还需要易于书写和维护。Go语言注释Go语言中注释一般分为两种,分别是单行注释和多行注释单行注释是以 // 开头的注释,可以出现在任何地方。多行注释也叫块注释,以 /* 开头,以 */ 结尾,不可以嵌套使用,
转载
2024-08-07 19:17:27
41阅读
goroutineGPM模型工作队列G队列-本地/全局gouroutine创建-newproc-newproc1执行出让cpu-gopark-park_m主动让出公平调度抢占式调度发送sigpreempt信号sighandler处理信号 goroutine 协程的优势在于 1拥有自己的携程栈 2方便保存现场和恢复现场,GPM模型 代码执行过程: 1代码变异后生产可执行文件,拷贝到栈的代码段,包含r
转载
2024-06-03 08:11:08
68阅读
一.前言
作为一名初级的嵌入式软件开发从业者,工作中大部分项目以C语言实现。使用C语言来编写代码,通常我们可以预测到编译生成的汇编/机器编码的大致情况,在不同的芯片架构上,有其相应的ABI标准。而近年来逐渐流行起来的Go语言编程,虽然同样语法上和C语言语法都有较为简单的特点,也都是编译型的静态语言,但我们对它在基本类型——函数参数的传递方式就了解很少了。另外
默认情况下,将项目打包成二进制的时候是不会加入静态资源文件的,因此在部署的时候还需要捎带上这些文件,比如,一些配置文件,图片,样式表等。很多时候,这些静态文件是不需要变的,如果能一并加入到二进制文件,就能减少部署时的依赖。于是有了很多第三方解决方案,将静态资源文件“嵌入”最终的 Go 二进制文件中。最知名的应该是 go-bindata,此外还有很多其他的:github.com/alecthomas
转载
2024-04-01 09:56:07
23阅读
Golang 快速入门即时通信系统 - 服务端版本一:构建基础 Server版本二:用户上线功能版本三:用户消息广播机制版本四:用户业务层封装版本五:在线用户查询版本六:修改用户名版本七:超时强推功能版本八:私聊功能即时通信系统 - 客户端客户端类型定义与链接解析命令行菜单显示更新用户名公聊模式私聊模式 即时通信系统 - 服务端项目架构图:版本迭代:版本一:构建基础 Server版本二:用户上线
转载
2024-04-30 11:18:05
54阅读
# Golang 程序打包成 Docker 镜像的完整流程
将 Golang 程序打包成 Docker 镜像是一个非常实用的技能,可以帮助你快速地部署和分发应用程序。本文将详细介绍如何将一个简单的 Golang 应用程序打包成 Docker 镜像,并且解释每一步的具体操作和所需的代码。
## 整体流程概述
在开始之前,我们先来看看整体流程。下面是将 Golang 程序打包成 Docker 镜
一、下载安装1.1 下载地址Go官网下载地址:https://golang.org/dl/
Go官方镜像(推荐):https://golang.google.cn/dl/1.2 windows安装此安装实例以 64位Win10系统安装 Go1.14.1可执行文件版本为例。将上一步选好的安装包下载到本地。双击下载好的文件,然后按照下图步骤安装即可。1.3 Linux安装如果不是要在Linux平台敲g
转载
2024-06-12 22:03:42
706阅读
# 使用 Ubuntu 作为基础镜像构造 GoLang 镜像的 Dockerfile
## 简介
Docker 是一种流行的容器化技术,它允许开发者在轻量级的虚拟环境中快速部署应用程序。使用 Docker 镜像来运行 GoLang 应用程序是现代开发流程中的一种常用做法。在本文中,我们将学习如何用 Ubuntu 作为基础镜像构造一个 GoLang 镜像,我们会提供一个 Dockerfile 示
两种方式Docker和Docker Compose部署web项目,相对于Go语言来说,不管是使用docker部署还是直接服务器部署都相当方便,比python要简单很多。1、Dockerfile结构解析From我们正在使用基础镜像golang:alpine来创建我们的镜像。这和我们要创建的镜像一样是一个我们能够访问的存储在Docker仓库的基础镜像。这个镜像运行的是alpine Linux发行版,该
转载
2023-09-28 18:40:00
132阅读
我们将探讨如何将自己的 Golang 程序打包成 Docker 镜像的过程。本文将详细介绍环境准备、集成步骤、配置详解、实战应用、排错指南以及生态扩展,确保你能够顺利地完成这个任务。
### 环境准备
在开始之前,确保你具备以下技术栈的兼容性:
| 技术栈 | 版本 |
|--------------|-------|
| Golang | 1.16+ |
| Do
Go modules 是 Go 语⾔的依赖解决⽅案,发布于 Go1.11,成⻓于 Go1.12,丰富于 Go1.13,正式于 Go1.14 推荐在⽣产上使⽤。解决了什么问题 ?Go 语⾔⻓久以来的依赖管理问题。“淘汰”现有的 GOPATH 的使⽤模式。统⼀社区中的其它的依赖管理⼯具(提供迁移功能)。GOPATH的⼯作模式GOPATH的弊端 :⽆版本控制概念 ⽆法同步⼀致第三⽅版本号 ⽆法指定当前项
为了能够愉快地进行golang编程,我们需要安装以下几样东西:包管理Homebrew语言环境golang版本管理git虚拟器docker编译器Goland我将按照这个顺序叙述整个安装过程docker 其实是可选的,它可以把应用程序打包为可移植的、自给自足的容器。这样一来,你就可以在本地生成golang程序的docker镜像,直接扔到测试环境,便可以进行测试了,不需要再进行代码上传,环境配置等操作了
转载
2024-03-05 13:04:50
208阅读
最近有同学开始尝试接触Go lang,拥抱新技术永远都会是一个好习惯,之前的一篇文章介绍了如何在Mac os系统下配置Go lang开发环境,这次我们在Win10系统下进行配置,并且更换国内的安装源,最后再和“全宇宙最快的web框架”–Iris亲密接触一下,对于Iris可能很多朋友并不熟悉,一般Go lang在web开发领域相对著名的框架比如Beego或者Gin都名声在外,这里推荐Iris的原因也
转载
2024-04-15 12:14:43
321阅读
Docker学习介绍 : 为了能让我们不同的程序可以在隔离的环境中运行;我们可以使用虚拟机;也可以使用Docker容器来进行环境隔离虚拟机:整个架构比较冗余,宿主机操作系统上又有多个操作系统运行,性能和效率会极大的降低Docker:Docker引擎是运行在宿主机操作系统上的,跑的应用程序进程是可以在宿主机上查看到的对比:虚拟机 [由下到上]。整个架构比较冗余,宿主机操作系统上又有多个操作系统运行
转载
2024-07-24 06:57:47
317阅读
Dockerfile FROM ubuntu:22.04 ADD go1.18.5.linux-amd64.tar.gz /usr/local ENV PATH=/usr/local/go/bin:$PATH 生成镜像 # docker build -f Dockerfile -t golang-1
原创
2023-07-10 00:43:36
267阅读
1999年12月29日 15:01 王波
可执行程序格式 在FreeBSD下的可执行程序通常可分为两类,一类为使用各种解
释语言编写的脚本,如sh、awk、perl、Tcl等,这些程序需要解释程序
进行解释执行,小巧方便,对于实现不常使用、不要求效率的程序非常
有用;另一类就是使用C等高级语言编译后产生的可执行二进制程序。 Unix之所以功能强大,原因之一就在于它提供了强大的再开发
能力。这不