網站首頁 編程語言 正文
上一篇文章:GoFrame gset使用入門 | 對比PHP、Java、Redis 得到了大家不錯的反饋,今天繼續為大哥分享gset的更多知識點。
使用場景方法介紹
交差并補集有非常多的應用場景,合理的使用交差并補集能減少我們的DB查詢次數。
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或屬于others的元素為元素的集合。
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)
注意:通過集合方法中的...我們可以發現,交差并集方法支持多個集合參數進行計算。
舉例
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]" }
打印結果
總結
通過這篇文章我們了解到gset數據結構交差并補集的基本使用
交差并集方法是支持多個集合參數進行計算的
合理使用交差并補集能較少DB查詢次數,提高程序整體響應速度。
原文鏈接:https://juejin.cn/post/7105572330612457486
相關推薦
- 2023-11-26 XMLHttpRequest的readyState狀態值
- 2022-07-27 詳解Python中的PyInputPlus模塊_python
- 2022-02-12 Flutter項目中有些依賴不支持64位的library的解決方式
- 2022-05-12 van-checkbox 全選,解決單個點擊后會取消全部的問題
- 2023-01-05 python?如何去除字符串中指定字符_python
- 2022-06-27 Android中的TimePickerView(時間選擇器)的用法詳解_Android
- 2022-02-14 Linux?sftp命令用法_Linux
- 2023-03-28 通知監控NotificationListenerService?onNotificationPost
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支