大家好,我是正在沉迷学习煎鱼煎鱼。在以前,很多从其他语言转过来 Go 语言同学会问到,或是踩到一个坑。就是以为 Go 语言所打包二进制文件中会包含配置文件联同编译和打包。 结果往往一把二进制文件挪来挪去,就无法把应用程序运行起来了。因为无法读取到静态文件资源。无法将静态资源编译打包进二进制文件的话,通常会有两种解决方法:第一种是识别这类静态资源,是否需要跟着程序走。第二种就是考虑将其打
会panic几种情况 1.向已经关闭channel发送数据 2.关闭已经关闭channel 3.关闭未初始化nil channel 会阻塞情况: 1. 从未初始化nil channel读数据 2. 向未初始化nil channel中发数据 3.在没有读取groutine时,向无缓冲ch
Go
原创 2021-06-17 19:17:38
255阅读
RPC(Remote Procedure Call Protocol)——远程过程调用协议,是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术协议。它假定某些传输协议存在,如TCP或UDP,以便为通信程序之间携带信息数据。通过它可以使函数调用模式网络化。在OSI网络通信模型,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内应用程序更加容易。RPC工作原理运行时,一次客户机对服务器RPC调用,其内部操作大致有如下十步:1.调用客户端句柄;执行传送参.
原创 2021-06-01 12:58:24
213阅读
WebSocket是HTML5重要特性,它实现了基于浏览器远程socket,它使浏览器和服务器可以进行全双工通信,许多浏览器(Firefox、Google Chrome和Safari)都已对此做了支持。在WebSocket出现之前,为了实现即时通信,采用技术都是“轮询”,即在特定时间间隔内,由浏览器对服务器发出HTTP Request,服务器在收到请求后,返回最新数据给浏览器刷新,“轮询”使得浏览器需要对服务器不断发出请求,这样会占用大量带宽。WebSocket采用了一些特殊报头,使得浏
原创 2021-06-01 12:58:27
265阅读
Go 语言中
原创 2022-06-23 09:17:26
91阅读
RESTful,是目前最为流行一种互联网软件架构。因为它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站采用。本小节我们将来学习它到底是一种什么样架构?以及在Go里面如何来实现它。什么是RESTREST(REpresentational State Transfer)这个概念,首次出现是在 2000年Roy Thomas Fielding(他是HTTP规范主要编写者之一)博士论文中,它指的是一组架构约束条件和原则。满足这些约束条件和原则应用程序或设计就是RESTful
原创 2021-06-01 12:58:25
132阅读
对于golang接口,纠结两天了,今天有种茅塞顿开感觉,有必要写点东西了。 纠结接口,说白了就是搞不透接口,方法,结构体几者之间关系以及具体用途。可以简单从三者定义说起,接口说白了就是一个方法(method)集,结构体就是一个类,通常保存属性,方法相当于类函数,不过有两种类型接受者(
转载 2018-08-30 12:36:00
63阅读
2评论
本文介绍了Go语言中数组和切片核心概念与区别。数组是固定长度值类型集合,长度在编译时确定,内存连续。切片是动态视图,可变化长度和容量,属于引用类型。切片通过底层数组实现,支持append、copy等操作,但需要注意共享底层数组可能导致数据修改问题。文章详细讲解了切片扩容机制(容量1024以下两倍扩容)、零值与空切片区别、浅拷贝特性,以及在循环中使用append可能导致性能问题。通过示例代码展示了数组和切片基本操作及常见陷阱,如切片操作不复制底层数组、append可能触发重分配等情况。
转载 10天前
342阅读
Mapmap是一种无序基于key-value数据结构,Go语言中map是引用类型,必须初始化才能使用。1.1.1. map定义Go语言中 map定义语法如下map[KeyType]ValueType其中,KeyType:表示键类型。 ValueType:表示键对应类型。map类型变量默认初始值为nil,需要使用make()函数来分配内存。语法为:make(map[Key
转载 2024-04-01 18:28:07
11阅读
1 go语言连接mysql简介    go官方仅提供了database package,database package下有两个包sql,sql/driver。这两个包用来定义操作数据库接口,这就保证了无论使用哪种数据库,他们操作方式都是相同。    但go官方并没有提供连接数据库driver,如果要操作数据库,还需要第三方driver 包,最常用
转载 2023-12-09 17:53:33
46阅读
只要导入了包 , 那么该包init函数就会执行 , 执行顺序和优先级为下面这种图 有点类似函数栈 , 先执行最后导入包init函数
Go
原创 2021-06-17 19:15:54
405阅读
Go语言常量有个不同寻常之处。虽然一个常量可以有任意一个确定基础类型,例如int或float64,或者是类似time.Duration这样命名基础类型,但是许多常量并没有一个明确基础类型。 math.Pi就是无类型浮点数常量 const ( E = 2.718281828459045235
Go
原创 2021-06-17 19:17:40
504阅读
Go接口(interface)  Go不是传统面向对象编程,所以没有类概念。但是它有灵活接口(interface)在一定程度上能实现面向对象很多特性。Go接口特点接口定义了一组抽象方法集,没有被实现接口中不能包含变量接口定义格式1 type Namer interface{ 2 Method1(param_list)return_type 3 Method2(param_
在撰写《Go 1.14值得关注几个变化》这篇文章时,我使用试验环境为我2019款 MacPro,OS版本:10.14.6。我通过下载 https://dl.google.com/go/go1.14.darwin-amd64.tar.gz并解压方式安装Go 1.14版本。在我工作环境,我通常通过变更GOROOT方式来使用不同Go版本。但在进行Go 1.14新增overlappi
转载 2021-08-08 15:10:36
244阅读
本文给大家推荐Go语言最佳IDE与编辑器汇总、七款让你魂牵梦绕出色Python IDE、12步战略帮助小型企业实现安全保障和十种方式助你顺利提升软件项目规划效果等。一、Go语言最佳IDE与编辑器汇总原文标题:The best Go language IDEs and editorsGo语言最佳IDE与编辑器汇总谷歌Go语言最近当选为Tiobe评出2016年度编程语言,这显然得益于它快速提升
转载 2023-07-27 16:37:10
64阅读
Go语言中接口(interface)是一种非常重要语言特性,它被广泛应用于各种领域,比如网络编程、并发编程、测试等。本文将详细介绍Go语言中接口概念、实现方式、应用场景以及注意事项等方面的内容,希望能够帮助读者更好地理解和应用Go语言中接口。接口概述接口是一种类型,它定义了一组方法。接口中方法没有具体实现,只有方法定义。一个类型只要实现了接口中定义所有方法,就被认为是
 你知道Go语言开发微服务框架有哪些吗?本篇文章为大家介绍13个Go语言开发微服务框架,快来认识一下吧。  1、Istio  Istio是由Google、IBM和Lyft开源微服务管理、保护和监控框架。使用istio可以很简单创建具有负载均衡、服务间认证、监控等功能服务网络,而不需要对服务代码进行任何修改。  2、Go-kit  Go-kit是一个Go分布式开发包,用于开发微服务
转载 2023-07-14 16:34:00
171阅读
如果不设置,直接使用命令创建会报错,如下: go: modules disabled inside GOPATH/s
原创 2022-08-03 06:58:05
1430阅读
Go语言方法可以看成是特殊函数,一个方法就是一个包含接受者函数,接受者可以是命名类型或者结构体类型一个值或者是一个指针(贯穿整个Go语言是结构体,方法,接口使用,可以发现每一个包都会存在结构体,对应类型方法以及相关接口,三者使用可以实现很复杂功能)。一. 方法定义语法规则:func (recevier type) methodName (参数列表) (返回值列表){},参数列表
转载 2023-07-11 23:53:02
45阅读
在很多底层网络应用开发者眼里一切编程都是Socket,话虽然有点夸张,但却也几乎如此了,现在网络编程几乎都是用Socket来编程。你想过这些情景么?我们每天打开浏览器浏览网页时,浏览器进程怎么和Web服务器进行通信呢?当你用QQ聊天时,QQ进程怎么和服务器或者是你好友所在QQ进程进行通信呢?当你打开PPstream观看视频时,PPstream进程如何与视频服务器进行通信呢? 如此种种,都是靠Socket来进行通信,以一斑窥全豹,可见Socket编程在现代编程占据了多么重要地位,这一节我们
原创 2021-06-01 12:58:28
270阅读
  • 1
  • 2
  • 3
  • 4
  • 5