日志库   自定义一个日志库。知识储备runtime.Caller()   该方法能够获取到打印的位置,文件的信息,行数等。   以下是该方法的使用,不必纠结太多,照着用就行。   唯一注意的是caller()中值的放入,该值会影响行数的显示,多测试几遍你就大概明白了。package main import ( "fmt" "runtime" "path/filepath" ) func
自定义RPC一、概述二、设计和实现1.结构设计2.代码实现
原创 2021-08-13 23:58:53
231阅读
GO 自定义Cache DEMO package main import ( "fmt" "sync" "time" ) // 缓存对象 type CacheItem struct { Value interface{} // 实际缓存的对象 TTL time.Duration // 存活时间 Cr ...
转载 2021-10-16 15:24:00
278阅读
2评论
1.环境go 1.14github.com/prometheus/client_golang v1.7.12.安装client-golonggo get -u github.com/prometheus/client_golang3.metricmain.gopackage mainimport ( "flag" "log" "net/http" "time" "github.com/p
原创 2022-05-29 13:44:29
248阅读
工程图函数权限函数大写字母开头,其他包可以访问该函数函数小写字母开头,同包可以访问,其他包不能访问util.goackage mycomimport "fmt"/** public函数-要大写字母开头 */func IsBlank(str string) bool { return isEmpty(str);}/** 小写字母开头 同包可以访问 其他包不能访问 */func isEmpty(str string) bool { if len(str)
原创 2021-08-25 10:53:07
428阅读
工程图函数权限函数大写字母开头,其他包可以访问该函数函数小写字母开头,同包可以访问,其他包不能访问u ) bool { if len(str)
原创 2022-02-15 18:13:38
367阅读
go可以利用切片,实现自定义的排序 1 声明一个切片类型 2 对切片类型绑定 Len Less Swap三个方法 3 调用sort.Sort方法 package main import ( "fmt" "math/rand" "sort" "strconv" "time" ) type Studen
转载 2021-01-27 11:17:00
381阅读
2评论
Go语言与C/C++类似,C++可通过typedef关键字自定义数据类型(别名、定义结构体等),Go语言则通过type关键字可实现自定义类型的实现1、自定义类型格式用户自定义类型使用type,其语法格式为:type newType oldTypeoldType可以是自定义类型、预声明类型、未命名类型中的任意一种newType是新类型标识符,与oldType具有相同的底层类型,并且都继承了底层类型的
package mainimport ( "errors" "fmt")func readConf(name string) (err error) { if name == "config.ini" { return nil } else { // 自定义错误 return errors.New("读取文件错误") }}func test() { err := readConf("config.ini") if err != nil { panic(err).
原创 2022-01-19 10:37:02
58阅读
main.gopackage mainimport ( "fmt" "html/template" "net/http")type User struct { Name string gender string Age int}func sayHello(w http.ResponseWriter, r *http.Request) { // 定义函数 k := func (name string) (string, error) { return name + "is
原创 2022-01-19 10:41:27
546阅读
package mainimport ( "errors" "fmt")func readConf(name string) (err error) { if name == "config.ini" { return nil } else { // 自定义错误 return errors.New("读取文件错误") }}func test() { err := readConf("config.ini") if err != nil { panic(err).
原创 2021-01-19 19:57:27
270阅读
main.gopackage mainimport ( "fmt" "html/template" "net/http")type User struct { Name string gender string Age int}func sayHello(w http.ResponseWriter, r *http.Request) { // 定义函数 k := func (name string) (string, error) { return name + "is
原创 2021-01-14 07:25:44
556阅读
# Go语言自定义模块 Go语言是一种开源编程语言,由Google开发,旨在提高开发效率。在Go语言中,模块(Module)是用于管理包和依赖的一种机制。本文将介绍如何自定义Go语言模块,并提供示例代码以帮助理解。 ## 什么是Go模块? Go模块是Go 1.11引入的一个特性,它允许开发者将代码组织为一个或多个包(Package),并管理其版本和依赖。使用Go模块,开发者可以更容易地共享、
原创 19天前
0阅读
gc日志是优化应用程序性能和解决内存问题的重要工具。通过传递“-Xloggc”JVM 参数,可以在特定文件路径中生成垃圾收集日志。-Xloggc:/home/GCEASY/gc.log使用这种方法配置gc文件:每当应用程序重新启动时,旧的 GC 日志文件将被新的 GC 日志文件覆盖,因为文件路径相同(即 /home/GCEASY/gc.log)。 因此,您将无法分析在重新启动应用程序之前存在的旧
Go的error比较灵活.但是自身对error处理的机制有不太好用,我们可以自定义错误输出: 只要所有实现了 Error() 方法的对象都可以, 这里给个比较简单的demo,后续整理一个error的优化封装:package main import ("fmt") type NameEmtpyError struct {     name string}//NameEmtpyError实现了 
转载 2021-01-19 18:51:30
886阅读
2评论
go导入自定义库ps:go貌似不支持相对路径导入库,没仔细查找资料创建go项目创建一个项目目录hello,在h
原创 2022-05-19 10:07:38
716阅读
基本语法 基本语法 -- 变量(1)变量的概念(2)变量的声明(3)变量的注意事项基本语法 -- 常量(1)常量的声明(2)iota 基本语法 – 变量(1)变量的概念变量是为存储特定类型的值而提供给内存位置的名称。在go中声明变量有多种语法。所以变量的本质就是一小块内存,用于存储数据,在程序运行过程中数值可以改变。(2)变量的声明var名称类型是声明单个变量的语法。以字母或下划线开头,由一个或
SOFARPC源码解析系列:1. 源码分析---SOFARPC可扩展的机制SPI2. 源码分析---SOFARPC客户端服务引用3. 源码分析---SOFARPC客户端服务调用4. 源码分析---SOFARPC服务端暴露5.源码分析---SOFARPC调用服务6.源码分析---和dubbo相比SOFARPC是如何实现负载均衡的?7.源码分析---SOFARPC是如何实现连接管理与心跳?8.源码分析
GORM自定义类型场景时间类型初始的时间类型只有time.time类型,而我们习惯输入和展示的结构是形如 2023-04-08 12:12:12这种。这种格式需要被程序转化为time.time类型被orm使用,从数据库查找的时候也需要做同样的转换。// 我这里举个例子,当我收到json数据我会转成解析成如下结构体 type CreateOrderRequest struct { OrderId
转载 4月前
63阅读
    实现 package cn.itcast.akka import akka.actor.{Actor, ActorSystem, Props} import akka.actor.Actor.Receive import com.typesafe.config.ConfigFactory import scala.collection.mutable import scala.
转载 2019-06-10 09:39:00
140阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5