资料总结 资料总结
首页
go
java
云原生
  • mysql
  • redis
  • MongoDB
  • 设计模式详解
  • 数据结构与算法
  • 前端
  • 项目
  • 理论基础
  • 运营
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

linghui Wu

一只努力学飞的鱼
首页
go
java
云原生
  • mysql
  • redis
  • MongoDB
  • 设计模式详解
  • 数据结构与算法
  • 前端
  • 项目
  • 理论基础
  • 运营
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • go入门教程

    • 01-入门和环境搭建
    • 02-变量和作用域
    • 03-基本类型、字符串、类型转换
    • 04-常量、指针、生命周期、类型别名、注释、关键字、运算符优先级
    • 05-数组、多维数组、切片、map、nil、new和make
    • 06-if、for、for-range、switch、goto
    • 07-函数、闭包、延迟调用、异常处理
    • 08-结构体、方法、继承重写
    • 09-接口、类型断言、IO
    • 10-包、依赖管理
    • 11-并发、runtime通信、锁、atomic、GMP原理
    • 12-网络编程、tcp、udp、http、websocket
    • 13.mysql、Redis
    • 新特性1.18 泛型、workspace、模糊测试
    • go标准库

    • go常用第三方类库

    • ORM框架

    • web框架

    • 移动端

    • go
    • go入门教程
    wulinghui
    2023-01-23
    目录

    新特性1.18 泛型、workspace、模糊测试

    # 1. 泛型

    func sum[K string,V int64|float64|int 32|int16|int8](m map[k]V) V{
    	return -1;	
    }
    // K和V就是泛型的写法。
    
    
    1
    2
    3
    4
    5

    升级版本

    type Nubmer interface{
    	int64|float64|int 32|int16|int8
    }
    func sum[K string,V Nubmer](m map[k]V) V{
    	return -1;	
    }
    
    
    1
    2
    3
    4
    5
    6
    7

    常用的map (opens new window)

    // MyMap类型定义了两个类型形参 KEY 和 VALUE。分别为两个形参指定了不同的类型约束
    // 这个泛型类型的名字叫: MyMap[KEY, VALUE]
    type MyMap[KEY int | string, VALUE float32 | float64] map[KEY]VALUE  
    
    // 用类型实参 string 和 flaot64 替换了类型形参 KEY 、 VALUE,泛型类型被实例化为具体的类型:MyMap[string, float64]
    var a MyMap[string, float64] = map[string]float64{
        "jack_score": 9.6,
        "bob_score":  8.4,
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

    # workspace

    多模块工作目录。包的隔离。 简化replace。

    本地多模块化开发,类似于maven的聚合工程。 方便调式。

    Go 1.18新特性前瞻:Go工作区模式 (opens new window)

    # 模糊测试

    1. 内嵌随机测试、 和单元测试的写法。
    2. 根据添加的测试集的规则再生成额外的测试集。
    • 文件命名规范: xxx_test.go
    • 方法命名规范: TestXxxx xxx为测试的方法命名
    • 方法命名规范: FuzzXxxx
    • 官方建议方法执行不能超过1ss

    Go1.18最新功能:模糊测试 (opens new window)

    在go的模糊测试中,会使用随机的数据对代码进行测试,以尝试找出漏洞或导致崩溃的输入。 可以通过模糊测试发现的一些漏洞示例包括 SQL 注入、缓冲区溢出、拒绝服务和跨站点脚本攻击。

    go.dev (opens new window)
    官方配置项 (opens new window)

    编辑 (opens new window)
    上次更新: 2023/01/23, 22:45:11
    13.mysql、Redis
    fmt标准库

    ← 13.mysql、Redis fmt标准库→

    最近更新
    01
    架构升级踩坑之路
    02-27
    02
    总结
    02-27
    03
    语法学习
    02-27
    更多文章>
    | Copyright © 2021-2025 Wu lingui |
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式