網(wǎng)站首頁 編程語言 正文
上一篇文章:GoFrame gset使用入門 | 對比PHP、Java、Redis 得到了大家不錯的反饋,今天繼續(xù)為大哥分享gset的更多知識點。
使用場景方法介紹
交差并補集有非常多的應用場景,合理的使用交差并補集能減少我們的DB查詢次數(shù)。
Intersect: 交集
交集,屬于set且屬于others的元素為元素的集合。
func (set *Set) Intersect(others ...*Set) (newSet *Set)
Diff: 差集
Diff: 差集,屬于set且不屬于others的元素為元素的集合。
func (set *Set) Diff(others ...*Set) (newSet *Set)
Union: 并集
Union: 并集,屬于set或?qū)儆趏thers的元素為元素的集合。
func (set *Set) Union(others ...*Set) (newSet *Set)
Complement: 補集
Complement: 補集,(前提: set應當為full的子集)屬于全集full不屬于集合set的元素組成的集合。如果給定的full集合不是set的全集時,返回full與set的差集。
func (set *Set) Complement(full *Set) (newSet *Set)
注意:通過集合方法中的...我們可以發(fā)現(xiàn),交差并集方法支持多個集合參數(shù)進行計算。
舉例
package main import ( "fmt" "github.com/gogf/gf/container/gset" ) func main() { s1 := gset.NewFrom([]interface{}{1, 2, 3}) s2 := gset.NewFrom([]interface{}{4, 5, 6}) s3 := gset.NewFrom([]interface{}{1, 2, 3, 4, 5, 6, 7}) fmt.Println("s1和s3的交集:", s1.Intersect(s3)) //s1和s3的交集:"[1,2,3]" fmt.Println("s1和s2的差集:", s1.Diff(s2)) //s1和s2的差集:"[2,3,1]" fmt.Println("s1和s2的并集:", s1.Union(s2)) //s1和s2的并集:"[3,1,4,5,6,2]" fmt.Println("s1和s3的補集:", s1.Complement(s3)) //s1和s3的補集:"[4,5,6,7]" }
打印結(jié)果
總結(jié)
通過這篇文章我們了解到gset數(shù)據(jù)結(jié)構(gòu)交差并補集的基本使用
交差并集方法是支持多個集合參數(shù)進行計算的
合理使用交差并補集能較少DB查詢次數(shù),提高程序整體響應速度。
原文鏈接:https://juejin.cn/post/7105572330612457486
相關(guān)推薦
- 2022-11-16 Oracle?刪除大量表記錄操作分析總結(jié)_oracle
- 2022-05-16 C#?CM框架實現(xiàn)多頁面管理的實例代碼_C#教程
- 2023-07-27 使用Echarts圖表時,頁面切換后并且改變頁面窗口大小,再切回原來頁面Echarts圖表顯示有問題
- 2023-01-17 Golang?map實現(xiàn)原理淺析_Golang
- 2022-12-22 C++?push方法與push_back方法常見方法介紹_C 語言
- 2023-05-26 keras.layers.Conv2D()函數(shù)參數(shù)用法及說明_python
- 2022-07-16 Spring Boot簡易增刪改查(CRUD)案例
- 2022-06-02 詳解IIS在ASP.NET?Core下的兩種部署模式_實用技巧
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支