最近在写一个需要前后端保持通信的服务。前端要能及时感知后端数据的变化,后端要及时处理前端发过来的指令。这种服务就需要用到websocket了。以前在写websocket相关的程序时,一直在用gorilla/websocket这个库,这个库事实上已经成为了go语言开发websocket应用的基础库了,不过它提供的功能比较有限,各种基本的功能,心跳等都要自己补充完善。最近这个库因找不到接手的维护人员而
转载
2023-07-26 16:44:55
50阅读
package include
//包的概念
//go 语言是使用包来组织源代码的 包是多个go源码的集合 是一种高级的代码复用方案
// 任何源代码文件必须属于某个包
//同时源码文件的第一行有效代码必须是package pacakgeName 语句,通过该语句声明自己所在的包
//go语言的包借助了目录树的组织形式 一般包的名称就是目录的名称
// 包可以定义在很深的目录中 包名的定义是
转载
2023-07-26 16:45:31
208阅读
一、Go环境搭建1. Go环境下载与安装A. Go语言安装包下载Go语言安装包下载页面网址:https://golang.google.cn/dl/,其页面如下(如果上述网站打不开或者开启缓慢,也可以使用Go语言中文网的下载地址:https://studygolang.com/dl)请大家按照各自电脑去选择对应的安装包,我这里选择的是最新的Windows的安装包,因为Go语言从1.18版本开始,支
转载
2023-07-31 13:39:32
114阅读
目录一、Go语言简介二、Go环境安装三、第一个Go程序四、IDE-Goland五、Go注释 一、Go语言简介什么是Go语言:Go是一种开源的程序设计语言,它意在使得人们能够方便地构建简单、可靠、高效率的软件Go语言优势①.运行速度快,简单易学②.薪水待遇高③.适合区块链开发④.跨平台⑤.丰富的标准库(指令),Go目前已经内置了大量的库,特别是网络库非常强大⑥.Go里面也可以直接包含C代码,利用现
转载
2023-07-26 16:45:03
90阅读
包(package)是Go语言中实现代码复用的重要手段。包的存在可以让我们只关心包中的有用的函数。Go语言自带100多个标准包,这些包使Go语言用起来便捷,进行服务器端、Web端编程几乎不需要第三方框架就可以开发。可依据函数、接口、方法之间的关联性来对包进行划分,关联性高的功能会放在一个包内,便于理解和后续修改维护。这种模块化特性,允许我们在不同的项目内甚至世界范围内共享和复用代码。指定编译的速度
转载
2023-09-01 07:36:58
61阅读
1.下载和安装 首先大家可以去官网下载 http://golang.org/dl/ 如果官网你看不懂的话,可以到这里下载: http://golangtc.com/download ,这里也提供了百度云的下载地址: 如果下载msi文件还需要进一步安装,安装过程也非常简单; 如果下载zip文件,直接解压了就可以用了。 2.配置 打开环境变量 然后, 紧
转载
2023-07-26 16:46:58
76阅读
Go是一种令人赞叹的语言,具有很大的发展动力,并且专注于简单性。 这种方法在其标准库中很明显,该库提供了所有基本要素,但不多。 幸运的是,Go拥有一个充满活力的社区,该社区创建并共享了许多第三方库。 在本教程中,我将向您介绍Go的12个最佳软件包和库。 其中一些具有相对狭窄的范围,可以添加到任何项目中,而另一些则是大型项目,您可以将其合并到大规模,大规模的分布式系统中。 太棒了 在深入探究库本
转载
2023-07-26 16:45:39
100阅读
cgo 使得在 Golang 中可以使用 C 代码。Hello World为了有一个较为直观的了解,我们来看一个简单的例子,创建文件 main.go:package main
/*
#include
void sayHi() {
printf("Hi");
}
*/
import "C"
func main() {
C.sayHi()
}执行程序:go run main.go程序执行并输出 hi
转载
2023-09-20 06:52:01
103阅读
创建一个GO模块 文章目录创建一个GO模块一、说明二、准备三、开始一个别人能使用的模块 一、说明这是介绍一些GO语言基本特性教程的第一部分。如果你是第一次使用Go,确保看一眼Go简单入门指导,这篇文章介绍了go命令,go模块,和一个简单的go代码。在这篇知道中,你讲创建两个模块。第一个是一个库,为了能让其它的库和应用导入。第二个是一个调用者应用,它将使用第一个模块。本教程的序列包含了七个简单的主题
转载
2023-07-26 16:46:29
68阅读
一、包管理的作用不论是哪种语言,都会有很多大佬写的框架以及工具包,我们为了可以增加代码跨项目的可复用性,经常会把一些常用的功能或者轮子写成一个或者多个包,因为包的独立性,使得我们可以在不同的项目或仓库对它进行使用,间接提高了代码的可复用性,减少了 CP 的场景。不同语言对包的概念界限不同,但是他们的本质是相同的,都是为了提供一些便于开发使用的工具方法或者轮子。本质就是一个文件夹的代码,当然包可以用
转载
2023-09-12 19:55:18
78阅读
包的定义 包文件所在的位置 包文件就是一个Go源码文件 如何指定包名 package name //name是目录名称 不能是main 在同一个目录中所有的go文件的包名必须要相同 否则会异常 包文件所在的目录如何命名 如果包是对外发布的 最好用域名来命名顶层的包目录 以保证全球唯一 import(
原创
2023-08-18 12:12:51
112阅读
Go的包管理Go包管理机制Go语言中的包的概念包的命名main包导入包命名导入包的init函数包管理工具安装 Go包管理机制针对Golang语言的包的管理方式,经过学习之后,个人希望形成一篇文章来记录Go语言中各种管理包的方式,在学习过程中发现,Go语言拥有强大的类Python管理能力Go语言中的包的概念我们在使用其他语言,比如Python,是有包的概念的,它是Python语言中组织我们的Pyt
Go语言的包借助了目录树的组织形式,一般包的名称就是其源文件所在目录的名称,虽然Go语言没有强制要求包名必须和其所在的目录名同名,但还是建议包名和所在目录同名,这样结构更清晰。包可以定义在很深的目录中,包名的定义是不包括目录路径的,但是包在引用时一般使用全路径引用。比如在GOPATH/src/a/b/ 下定义一个包 c。在包 c 的源码中只需声明为package c,而不是声明为package a
转载
2024-01-02 07:19:17
49阅读
1.包的由来为了代码更好的维护和复用,Go语言按程序的功能性将源代码分割成一个个逻辑单元,组织成若干组文件,每组文件被称为一个包。这样开发人员可以以包为单位对代码进行维护,也可以以包为复用单元,引入到其他项目。2.包名为了方便包的定位,建议包名和目录名一致,即以.go为后缀名的源文件,其第一行代码所声明的包名和 此文件所属的目录名一致。3.包的分类3.1main包Go语言编译的可执行程序,其包名必
转载
2023-12-10 10:50:49
78阅读
go语言的源码组织形式是包,go语言的main函数只有在main包里面才可以被系统执行。golang中的包和文件夹是对应关系,一般是创建在gopath目录下。golang中的一个包需要引用另一个包,必须使用import关键字进行导入才可以使用。golang中的任何源代码文件必须属于某个包,第一行代码是package pacakageName.。包是多个Go源码的集合,是一种高级的代码复用方案。Go
转载
2023-07-11 23:46:54
119阅读
新的包管理模式有什么不同? 作为Go语言的推广者,常常被问到各种关于Go语言的基础特性问题。 其中,关于包管理方面的问题会让我非常尴尬,因为Go的包管理在1.11之前与Python、Node、Java比较起来真的只能算是“仅仅可用”而已。 因为:在不使用额外的工具的情况下,Go的依赖包需要手工下载, 第三方包没有版本的概念,如果第三方包的作者做了不兼容升级,会让开发者很难受 协作开发时,需要统一各
转载
2023-11-08 18:37:04
48阅读
随着 Go 语言的深入使用,其依赖管理机制也一直是各位 Gopher 热衷于探讨的话题。Go 语言的源码依赖可通过 go get 命令来获取,但自动化程度不高,于是官方提供了 Dep 这样的自动化批量管理依赖的工具。虽然 Go 语言的依赖管理在很多方面还是不如人意,但整个体系正在日趋完善,本篇就将从最基本的依赖管理场景出发,一同探讨 Go 语言依赖管理的一些最佳实践。Go 依赖管理的基本思路在 G
转载
2023-11-07 06:19:36
73阅读
包的习惯用法:包名一般是小写的,使用一个简短且有意义的名称。包名一般要和所在的目录同名,也可以不同,包名中不能包含-等特殊符号。包一般使用域名作为目录名称,这样能保证包名的唯一性,比如 GitHub 项目的包一般会放到GOPATH/src/github.com/userName/projectName目录下。包名为 main 的包为应用程序的入口包,编译不包含 main 包的源码文件时不会得到可执
转载
2024-01-02 13:30:19
55阅读
Go语言标准库Go语言标准库:记录日志、编/解码、输入输出1. 文档与源码2. 日志2.1 定制的日志记录器2. 编码、解码2.1 解码JSON2.2 编码JSON3. 输入和输出3.1 Writer 和 Reader 接口3.2 整合并完成工作3.3 实现一个简单的curl命令行工具 Go语言标准库:记录日志、编/解码、输入输出本章主要内容输出数据以及记录日志对 JSON 进行编码和解码处理输
转载
2023-08-12 20:27:01
103阅读
目录Go Modules是什么?Go Modules的使用方法环境变量GOPROXYGOSUMDB初始化模块go get常用命令Go Modules是什么?Go语言通过包管理来封装模块和复用代码,这里我们只介绍Go Modules管理方法Go Modules于Go语言1.11版本时引入,在1.12版本正式支持,是由Go语言官方提供的包管理解决方案Modules是相关Go包的集合,是源代码交换和版本
转载
2023-07-12 00:44:20
87阅读