freego

command module
v1.1.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 22, 2026 License: MIT Imports: 11 Imported by: 0

README ยถ

FreeGo ้ซ˜ๆ€ง่ƒฝๆก†ๆžถ

Go Version License Go Report Card

๐Ÿš€ ไธ“ๆณจไบŽๆž่‡ดๆ€ง่ƒฝไผ˜ๅŒ–ๅ’Œ้‡‘่ž็บงๅฎ‰ๅ…จๆ ‡ๅ‡†็š„ Go ่ฏญ่จ€ไผไธš็บงๆก†ๆžถ

FreeGo ๆ˜ฏไธ€ไธช้ซ˜ๆ€ง่ƒฝ็š„ Go ่ฏญ่จ€ไผไธš็บงๆก†ๆžถ๏ผŒไธ“ๆณจไบŽๆž่‡ดๆ€ง่ƒฝไผ˜ๅŒ–ๅ’Œ้‡‘่ž็บงๅฎ‰ๅ…จๆ ‡ๅ‡†ใ€‚ๆก†ๆžถ็”ฑไธคๅคงๆ ธๅฟƒ็ป„ไปถๆž„ๆˆ๏ผš

  • Server & API ๆก†ๆžถ๏ผšๅŸบไบŽ FastHTTP ๆž„ๅปบ็š„้ซ˜ๆ€ง่ƒฝ HTTP ๆœๅŠก
  • ORM ๆ•ฐๆฎๅบ“ๆก†ๆžถ๏ผš้›ถๅๅฐ„ใ€้›ถๅ†…ๅญ˜ๆตช่ดน็š„้ซ˜ๆ€ง่ƒฝๆ•ฐๆฎๅบ“ๆ“ไฝœๆก†ๆžถ

๐Ÿ“š ็›ฎๅฝ•

๐Ÿš€ ๆก†ๆžถ็‰นๆ€ง

๐ŸŒ Server & API ๆก†ๆžถ
็‰นๆ€ง ๆ่ฟฐ ไผ˜ๅŠฟ
๐Ÿš€ ้ซ˜ๆ€ง่ƒฝ HTTP ๅŸบไบŽ FastHTTP๏ผŒๆฏ”ๆ ‡ๅ‡†ๅบ“ๅฟซ 3-5 ๅ€ ๅ•ๆœบ QPS 50,000+
๐Ÿ” ้‡‘่ž็บงๅฎ‰ๅ…จ JWT + RSA/ECC + AES ๅŠ ๅฏ† ็ฌฆๅˆ PCI DSS ๆ ‡ๅ‡†
๐Ÿ”’ ้˜ฒ้‡ๆ”พๆ”ปๅ‡ป HMAC-SHA256 + ๆ—ถ้—ดๆˆณ ้‡‘่ž็บงๅฎ‰ๅ…จไฟ้šœ
๐Ÿ‘ฅ RBAC ๆƒ้™ๆŽงๅˆถ ่ง’่‰ฒๆƒ้™็ฎก็†็ณป็ปŸ ไผไธš็บง่ฎฟ้—ฎๆŽงๅˆถ
โšก ไธ‰็บง้™ๆต ็ฝ‘ๅ…ณ/ๆ–นๆณ•/็”จๆˆท้™ๆต ้˜ฒๆญข็ณป็ปŸ่ฟ‡่ฝฝ
๐Ÿ”ง ่ฟ‡ๆปคๅ™จ้“พ ๅฎŒๆ•ด็š„ไธญ้—ดไปถ็ณป็ปŸ ๆ”ฏๆŒ่‡ชๅฎšไน‰ๆ‰ฉๅฑ•
๐Ÿ—„๏ธ ORM ๆ•ฐๆฎๅบ“ๆก†ๆžถ
็‰นๆ€ง ๆ่ฟฐ ๆ€ง่ƒฝๆๅ‡
๐Ÿ’พ ้›ถๅ†…ๅญ˜ๆตช่ดน ็ฒพ็กฎๅฎน้‡้ข„ๅˆ†้… ๅ‡ๅฐ‘ 90%+ GC ๅŽ‹ๅŠ›
โšก ้›ถๅๅฐ„ๅผ€้”€ ็›ดๆŽฅๅ†…ๅญ˜ๆ“ไฝœ ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฎ‰ๅ…จ
๐Ÿง  ๆ™บ่ƒฝ้ข„ไผฐ ้€’ๅฝ’ OR ๆกไปถ็ฒพ็กฎ่ฎก็ฎ— ๅคๆ‚ๆŸฅ่ฏขๆ€ง่ƒฝไผ˜ๅŒ–
๐Ÿ”„ ้ซ˜ๅนถๅ‘ๆ”ฏๆŒ ๆ™บ่ƒฝ่ฟžๆŽฅๆฑ  + ๅŽŸๅญๆ“ไฝœ ๆ”ฏๆŒ 10,000+ ๅนถๅ‘
ๆ ธๅฟƒ็ป„ไปถๆžถๆž„
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      FreeGo Framework                           โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                   Application Layer (ๅบ”็”จๅฑ‚)                     โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚  HTTP Server (FastHTTP)                                  โ”‚   โ”‚
โ”‚  โ”‚  โ€ข ๅ•ๆœบ QPS: 50,000+                                     โ”‚   โ”‚
โ”‚  โ”‚  โ€ข ๅ“ๅบ”ๅปถ่ฟŸ: < 1ms                                       โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                  Filter Chain (่ฟ‡ๆปคๅ™จ้“พ)                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚ ้™ๆต่ฟ‡ๆปคๅ™จ  โ”‚ ๅ‚ๆ•ฐ่ฟ‡ๆปคๅ™จ  โ”‚ ไผš่ฏ่ฟ‡ๆปคๅ™จ  โ”‚ ๆƒ้™่ฟ‡ๆปคๅ™จ  โ”‚ ่‡ชๅฎšไน‰โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                 Security & Crypto (ๅฎ‰ๅ…จๅฑ‚)                       โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚ JWT ่ฎค่ฏ   โ”‚ RSA/ECC ๅŠ ๅฏ†โ”‚ AES ๅŠ ๅฏ†   โ”‚ HMAC็ญพๅ   โ”‚ ้˜ฒ้‡ๆ”พโ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                Business Logic Layer (ไธšๅŠกๅฑ‚)                     โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚ ่ฏทๆฑ‚ไธŠไธ‹ๆ–‡  โ”‚ ่ทฏ็”ฑ็ฎก็†    โ”‚ ไธญ้—ดไปถ็ฎก็†  โ”‚ ้”™่ฏฏๅค„็†    โ”‚ ็›‘ๆŽง โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                  ORM Layer (ๆ•ฐๆฎ่ฎฟ้—ฎๅฑ‚)                          โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚  FreeGo ORM                                              โ”‚   โ”‚
โ”‚  โ”‚  โ€ข ้›ถๅ†…ๅญ˜ๆตช่ดน โ€ข ้›ถๅๅฐ„ๅผ€้”€ โ€ข ็ฒพ็กฎๅฎน้‡้ข„ไผฐ                  โ”‚   โ”‚
โ”‚  โ”‚  โ€ข ้ซ˜ๅนถๅ‘ไผ˜ๅŒ–๏ผŒๆ€ง่ƒฝๆ˜พ่‘—ๆๅ‡                                โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                 Database Layer (ๆ•ฐๆฎๅบ“ๅฑ‚)                        โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚   MySQL    โ”‚ PostgreSQL โ”‚   MongoDB  โ”‚   Redis    โ”‚ ๅ…ถไป–  โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ใ€ๆ€ง่ƒฝๆŒ‡ๆ ‡ใ€‘
โ€ข ECC ็™ปๅฝ•่ฎค่ฏ: 3,324 TPS       โ€ข AES ๆ•ฐๆฎๆŸฅ่ฏข: 65,928 TPS
โ€ข ๅ•ๆกๆŸฅ่ฏข: 130,901 ns/op       โ€ข ๆ‰น้‡ๆŸฅ่ฏข: 8,931,733 ns/op
โ€ข ๅ†…ๅญ˜ๅ ็”จ: 6.8MB/op           โ€ข GCๅŽ‹ๅŠ›: 93,139 allocs/op
โ€ข ๅนถๅ‘่ฟžๆŽฅ: 10,000+           โ€ข CPU ไฝฟ็”จ: < 30%

๐Ÿ”ง ๅฟซ้€Ÿๅผ€ๅง‹

๐Ÿ“ฆ ๅฎ‰่ฃ…
go get github.com/godaddy-x/freego
๐Ÿš€ ๅŸบ็ก€็คบไพ‹
package main

import (
    "github.com/godaddy-x/freego/node"
    "github.com/godaddy-x/freego/utils/jwt"
)

func main() {
    httpNode := &node.HttpNode{}

    // ้…็ฝฎ JWT ่ฎค่ฏ
    httpNode.AddJwtConfig(jwt.JwtConfig{
        TokenKey: "your-256-bit-secret-key",
        TokenExp: jwt.ONE_HOUR,
    })

    // ๆทปๅŠ ่ทฏ็”ฑ
    httpNode.GET("/health", func(ctx *node.Context) error {
        return ctx.Json(map[string]interface{}{"status": "ok"})
    })

    // ๅฏๅŠจๆœๅŠก
    httpNode.StartServer(":8080")
}

๐Ÿ” ๅฎ‰ๅ…จ็‰นๆ€ง

ๅคš้‡่ฎค่ฏไฝ“็ณป
  • JWT Token: ๆ— ็Šถๆ€่ฎค่ฏ๏ผŒๆ”ฏๆŒ็Ÿญ่ฟ‡ๆœŸๆ—ถ้—ด
  • HMAC-SHA256: ้˜ฒๆญข้‡ๆ”พๆ”ปๅ‡ปๅ’Œๆ•ฐๆฎ็ฏกๆ”น
  • RSA/ECC ๅŠ ๅฏ†: ้žๅฏน็งฐๅŠ ๅฏ†๏ผŒ้‡‘่ž็บงๅฎ‰ๅ…จ
  • AES ๅŠ ๅฏ†: ๅฏน็งฐๅŠ ๅฏ†๏ผŒ้ซ˜ๆ€ง่ƒฝๆ•ฐๆฎไผ ่พ“
ๅฎ‰ๅ…จๆœบๅˆถ
  • ๆ—ถ้—ดๆˆณ้ชŒ่ฏ: ่ฏทๆฑ‚ๅœจ 5 ๅˆ†้’Ÿ็ช—ๅฃๅ†…ๆœ‰ๆ•ˆ
  • ้šๆœบๆ•ฐ้˜ฒ้‡ๆ”พ: ๆฏไธช่ฏทๆฑ‚ไฝฟ็”จๅ”ฏไธ€ nonce
  • ๅŒ้‡็ญพๅ: Token + Secret ็ป„ๅˆ้ชŒ่ฏ

๐Ÿ“ˆ ๆ€ง่ƒฝๅฏนๆฏ”

HTTP API ๆ€ง่ƒฝ
ๆต‹่ฏ•ๅœบๆ™ฏ TPS ๅ“ๅบ”ๆ—ถ้—ด ๅ†…ๅญ˜ๅˆ†้…
ECC ็™ปๅฝ•่ฎค่ฏ 3,324 0.37ms 14KB
AES ๆ•ฐๆฎๆŸฅ่ฏข 65,928 0.02ms 9.7KB
ORM ๆ‰น้‡ๆŸฅ่ฏขๆ€ง่ƒฝ (3000 ่กŒๆ•ฐๆฎ)
ๆก†ๆžถ ๅค„็†ๆ—ถ้—ด ๅ†…ๅญ˜ไฝฟ็”จ ็›ธๅฏนๆ€ง่ƒฝ ๅ†…ๅญ˜ๆ•ˆ็އ
sqlx 6.84ms 8.61MB ๅŸบๅ‡† โญโญโญโญ
ๅŽŸ็”Ÿ SQL 7.01ms 8.54MB +2.5% โญโญโญโญโญ
FreeGo ORM 8.93ms 6.82MB +30.7% โญโญโญโญโญ
GORM 9.25ms 9.19MB +35.3% โญโญโญ
Beego ORM 13.62ms 15.85MB +99.2% โญโญ
XORM 13.74ms 19.06MB +100.9% โญโญ

้กบๅบๆจกๅผๆต‹่ฏ•: 17 ไธชๅญ—ๆฎตๅฎŒๅ…จๅ…ฌๅนณๅฏนๆฏ”๏ผŒๆ›ด็œŸๅฎžๅๆ˜ ๅฎž้™…ไธšๅŠกๅœบๆ™ฏ

๐Ÿ—„๏ธ ORM ็‰นๆ€ง

ๆ ธๅฟƒไผ˜ๅŒ–ๆŠ€ๆœฏ
  • ้›ถๅ†…ๅญ˜ๆตช่ดน: ็ฒพ็กฎๅฎน้‡้ข„ๅˆ†้…๏ผŒ้ฟๅ…ๆ‰ฉๅฎน
  • ้›ถๅๅฐ„ๅผ€้”€: ็›ดๆŽฅๅ†…ๅญ˜ๆ“ไฝœ๏ผŒ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฎ‰ๅ…จ
  • ๆ™บ่ƒฝ้ข„ไผฐ: ้€’ๅฝ’ OR ๆกไปถ็ฒพ็กฎๅฎน้‡่ฎก็ฎ—
  • ้ซ˜ๅนถๅ‘ๆ”ฏๆŒ: ๅŽŸๅญๆ“ไฝœๅ’Œๆ™บ่ƒฝ่ฟžๆŽฅๆฑ 
้€‚็”จๅœบๆ™ฏ
  • ้ซ˜้ข‘ๆ•ฐๆฎๅบ“ๆ“ไฝœ
  • ๅคงๆ•ฐๆฎ้‡ๅค„็†
  • ๅ†…ๅญ˜ๆ•ๆ„Ÿๅบ”็”จ
  • ้‡‘่ž็บงๆ•ฐๆฎ็ณป็ปŸ

๐ŸŽฏ ้€‰ๆ‹ฉๆŒ‡ๅ—

้€‰ๆ‹ฉ FreeGo ็š„็†็”ฑ
้œ€ๆฑ‚ๅœบๆ™ฏ FreeGo ไผ˜ๅŠฟ ้€‚็”จ้กน็›ฎ
๐Ÿš€ ้ซ˜ๆ€ง่ƒฝ 30.7%ๆ€ง่ƒฝๅผ€้”€๏ผŒๅ†…ๅญ˜่Š‚็œ 20% ้ซ˜ๅนถๅ‘ Web ๆœๅŠก
๐Ÿ”’ ้‡‘่ž็บงๅฎ‰ๅ…จ PCI DSS ๅˆ่ง„ ้‡‘่žใ€ๆ”ฏไป˜็ณป็ปŸ
๐Ÿ’พ ๅ†…ๅญ˜ไผ˜ๅŒ– 6.8MB ๅ†…ๅญ˜ไฝฟ็”จ๏ผŒGC ๅŽ‹ๅŠ›ๆœ€ๅฐ ๅ†…ๅญ˜ๆ•ๆ„Ÿๅบ”็”จ
๐Ÿ—„๏ธ ๆ•ฐๆฎๅบ“ๅฏ†้›† ้›ถๅๅฐ„ ORM๏ผŒๆ™บ่ƒฝๅฎน้‡้ข„ไผฐ ๆ•ฐๆฎๅฏ†้›†ๅž‹็ณป็ปŸ
ๅฟซ้€Ÿ้ƒจ็ฝฒ
# Docker ้ƒจ็ฝฒ
FROM golang:1.21-alpine
WORKDIR /app
COPY . .
RUN go build -o main .
CMD ["./main"]

๐Ÿ“ž ่”็ณปไธŽๆ”ฏๆŒ


โญ ๅฆ‚ๆžœ่ฟ™ไธช้กน็›ฎๅฏนไฝ ๆœ‰ๅธฎๅŠฉ๏ผŒ่ฏท็ป™ๅฎƒไธ€ไธช Star๏ผ

Documentation ยถ

The Go Gopher

There is no documentation for this package.

Directories ยถ

Path Synopsis
Package rabbitmq ๆไพ›RabbitMQๆถˆๆฏ้˜Ÿๅˆ—็š„Goๅฎž็Žฐ
Package rabbitmq ๆไพ›RabbitMQๆถˆๆฏ้˜Ÿๅˆ—็š„Goๅฎž็Žฐ
Package cache ๆไพ›Redis็ผ“ๅญ˜็ฎก็†ๅŠŸ่ƒฝ ๅŸบไบŽ go-redis v9 ๅบ“ๆไพ›้ซ˜ๆ€ง่ƒฝRedis็ผ“ๅญ˜ๆ“ไฝœ
Package cache ๆไพ›Redis็ผ“ๅญ˜็ฎก็†ๅŠŸ่ƒฝ ๅŸบไบŽ go-redis v9 ๅบ“ๆไพ›้ซ˜ๆ€ง่ƒฝRedis็ผ“ๅญ˜ๆ“ไฝœ
limiter
Package rate provides a rate limiter.
Package rate provides a rate limiter.
package ballast ๆไพ›ๅŸบไบŽ"ๅŽ‹่ˆฑ็Ÿณ"๏ผˆballast๏ผ‰็š„GCไผ˜ๅŒ–ๅทฅๅ…ท ้€š่ฟ‡้ข„ๅˆ†้…้•ฟๆœŸๆŒๆœ‰็š„ๅคงๅ—ๅ†…ๅญ˜๏ผŒ่ฐƒๆ•ดGoๅžƒๅœพๅ›žๆ”ถ็š„่งฆๅ‘้˜ˆๅ€ผ๏ผŒๅ‡ๅฐ‘GC้ข‘็އ ้€‚็”จไบŽๅ†…ๅญ˜ไฝฟ็”จ้ข‘็นๆณขๅŠจ็š„ๆœๅŠก๏ผŒ้œ€ๆ นๆฎๅฎž้™…ๅ†…ๅญ˜้œ€ๆฑ‚ๅˆ็†้…็ฝฎ
package ballast ๆไพ›ๅŸบไบŽ"ๅŽ‹่ˆฑ็Ÿณ"๏ผˆballast๏ผ‰็š„GCไผ˜ๅŒ–ๅทฅๅ…ท ้€š่ฟ‡้ข„ๅˆ†้…้•ฟๆœŸๆŒๆœ‰็š„ๅคงๅ—ๅ†…ๅญ˜๏ผŒ่ฐƒๆ•ดGoๅžƒๅœพๅ›žๆ”ถ็š„่งฆๅ‘้˜ˆๅ€ผ๏ผŒๅ‡ๅฐ‘GC้ข‘็އ ้€‚็”จไบŽๅ†…ๅญ˜ไฝฟ็”จ้ข‘็นๆณขๅŠจ็š„ๆœๅŠก๏ผŒ้œ€ๆ นๆฎๅฎž้™…ๅ†…ๅญ˜้œ€ๆฑ‚ๅˆ็†้…็ฝฎ
sdk
Package goquery implements features similar to jQuery, including the chainable syntax, to manipulate and query an HTML document.
Package goquery implements features similar to jQuery, including the chainable syntax, to manipulate and query an HTML document.
ormx
pb
decimal
Package decimal implements an arbitrary precision fixed-point decimal.
Package decimal implements an arbitrary precision fixed-point decimal.
jwt
sdk
snowflake
Package snowflake provides a very simple Twitter snowflake generator and parser.
Package snowflake provides a very simple Twitter snowflake generator and parser.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL