前言最近我负责了一个新项目,大概流程是从 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
一.前言     作为一名初级嵌入式软件开发从业者,工作中大部分项目以C语言实现。使用C语言来编写代码,通常我们可以预测到编译生成汇编/机器编码大致情况,在不同芯片架构上,有其相应ABI标准。而近年来逐渐流行起来Go语言编程,虽然同样语法上和C语言语法都有较为简单特点,也都是编译型静态语言,但我们对它在基本类型——函数参数传递方式就了解很少了。另外
默认情况下,将项目打包成二进制时候是不会加入静态资源文件,因此在部署时候还需要捎带上这些文件,比如,一些配置文件,图片,样式表等。很多时候,这些静态文件是不需要变,如果能一并加入到二进制文件,就能减少部署时依赖。于是有了很多第三方解决方案,将静态资源文件“嵌入”最终 Go 二进制文件中。最知名应该是 go-bindata,此外还有很多其他:github.com/alecthomas
Golang 快速入门即时通信系统 - 服务端版本一:构建基础 Server版本二:用户上线功能版本三:用户消息广播机制版本四:用户业务层封装版本五:在线用户查询版本六:修改用户名版本七:超时强推功能版本八:私聊功能即时通信系统 - 客户端客户端类型定义与链接解析命令行菜单显示更新用户名公聊模式私聊模式 即时通信系统 - 服务端项目架构图:版本迭代:版本一:构建基础 Server版本二:用户上线
# Golang 程序打包成 Docker 镜像完整流程 将 Golang 程序打包成 Docker 镜像是一个非常实用技能,可以帮助你快速地部署和分发应用程序。本文将详细介绍如何将一个简单 Golang 应用程序打包成 Docker 镜像,并且解释每一步具体操作和所需代码。 ## 整体流程概述 在开始之前,我们先来看看整体流程。下面是将 Golang 程序打包成 Docker 镜
原创 10月前
80阅读
一、下载安装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 示
原创 10月前
187阅读
两种方式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
原创 5月前
119阅读
Go modules 是 Go 语⾔依赖解决⽅案,发布于 Go1.11,成⻓于 Go1.12,丰富于 Go1.13,正式于 Go1.14 推荐在⽣产上使⽤。解决了什么问题 ?Go 语⾔⻓久以来依赖管理问题。“淘汰”现有的 GOPATH 使⽤模式。统⼀社区中其它依赖管理⼯具(提供迁移功能)。GOPATH⼯作模式GOPATH弊端 :⽆版本控制概念 ⽆法同步⼀致第三⽅版本号 ⽆法指定当前项
转载 5月前
17阅读
为了能够愉快地进行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之所以功能强大,原因之一就在于它提供了强大再开发 能力。这不
  • 1
  • 2
  • 3
  • 4
  • 5