golang embed º¬Òå¼°Ó÷¨

ÕªÒª£º golang embed °üµÄÖ÷Òª¹¦ÄÜÊÇÔÚÔËÐÐʱÌṩ¶ÔǶÈëµ½ Go ³ÌÐòÖеÄÎļþµÄ·ÃÎÊ¡£ ʹÓàembed °ü£¬GoÔ´Îļþ¿ÉÒÔͨ¹ýʹÓà//go:embed Ö¸ÁîÀ´½«ÎļþµÄÄÚÈݳõʼ»¯Îª×Ö·û´®¡¢×Ö½ÚÇÐƬ»ò FS ÀàÐÍ¡£ ÕâÑù¿ÉÒÔÔÚÔËÐÐʱֱ½Ó·ÃÎÊÕâЩÎļþµÄÄÚÈÝ¡£ ÒÔÏÂÊÇʹÓàembed °üµÄÈý¸öʾÀý£º ÔĶÁÈ«ÎÄ
posted @ 2024-06-25 23:13 ercom ÔĶÁ(11) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

caddy Ä£¿é(module) caddyhttp StartÆô¶¯Âß¼­·ÖÎö

ÕªÒª£º ./modules/caddyhttp/app.go func (app *App) Start() error { // xx } Start ·½·¨ÊôÓÚÒ»¸ö×Ô¶¨ÒåµÄ App ½á¹¹Ì壬ÓÃÓÚÆô¶¯Ó¦ÓóÌÐòÖеĶà¸ö HTTP ·þÎñÆ÷ʵÀý¡£ ÏÂÃæÊǶԸ÷½·¨µÄÖ÷ÒªÂß¼­ºÍ¹Ø¼ü²½ÖèµÄÏêϸ·ÖÎö£º 1. ÈÕÖ¾ÉèÖÃ: ÔĶÁÈ«ÎÄ
posted @ 2024-06-22 13:50 ercom ÔĶÁ(3) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang runtime.Caller »ñÈ¡µ÷ÓöÑÕ»ÐÅÏ¢, Caller(1) ºÍ Caller(2) µÄÇø±ð

ÕªÒª£º func whoCalledMe() { // »ñÈ¡µ÷ÓöÑÕ»ÐÅÏ¢ _, fileName, lineNo, ok := runtime.Caller(2) if !ok { fmt.Println("Failed to get caller information") return } fmt.Pr ÔĶÁÈ«ÎÄ
posted @ 2024-06-22 13:38 ercom ÔĶÁ(7) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang interface guard ¼¼Êõ£¨½Ó¿ÚÊØ»¤£©

ÕªÒª£º Go´úÂëµÄ½Ó¿ÚÊØÎÀ£¨interface guards£©¼¼Êõ£¬Í¨³£ÓÃÓÚ¿âµÄ¿ª·¢£¬ÒÔÈ·±£ÀàÐÍ·ûºÏÔ¤ÆڵĽӿڡ£ ÏÂÃæʾÀýµÄ Interface guards È·±£ App ÀàÐÍʵÏÖÁËcaddy.App¡¢caddy.Provisioner ºÍ caddy.Validator ½Ó¿Ú¡£ ¾ßÌåÀ´Ëµ£¬Ëüͨ¹ý½« (* ÔĶÁÈ«ÎÄ
posted @ 2024-06-20 23:08 ercom ÔĶÁ(2) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

dockerfile Ö¸Áî ADD ºÍ COPY µÄÇø±ð

ÕªÒª£º Dockerfile ÖÐµÄ ADD ºÍ COPY Ö¸ÁÓÃÓÚ½«Îļþ»òĿ¼´Ó¹¹½¨ÉÏÏÂÎĸ´ÖƵ½ Docker ¾µÏñÖУ¬µ«ËüÃÇÖ®¼ä´æÔÚһЩ¹Ø¼ü²îÒ죺 »ù±¾¸´Öƹ¦ÄÜ: COPY: ´¿´âµØ½«´Ó¹¹½¨ÉÏÏÂÎÄ£¨¼´Ö´ÐÐ docker build ÃüÁîʱָ¶¨µÄĿ¼¼°Æä×ÓĿ¼£©ÖеÄÎļþ»òĿ¼¸´ÖƵ½¾µÏñÖÐÖ¸¶¨µÄ·¾¶¡£ AD ÔĶÁÈ«ÎÄ
posted @ 2024-06-20 23:03 ercom ÔĶÁ(12) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

rust ºÍ golang µÄÌص㼰ÊÊÓó¡¾°

ÕªÒª£º Rust Ìص㼰ÊÊÓó¡¾°: Äڴ氲ȫ: Rust ͨ¹ýËùÓÐȨϵͳºÍÉúÃüÖÜÆÚ¹ÜÀíÔÚ±àÒëʱ±£Ö¤Äڴ氲ȫ£¬ÓÐЧ·ÀÖ¹ÁË¿ÕÖ¸ÕëÒì³£¡¢Êý¾Ý¾ºÕù¡¢Ðü¹ÒÖ¸ÕëµÈÎÊÌ⣬·Ç³£ÊʺϿª·¢¸ßÐÔÄÜϵͳÈí¼þºÍµ×²ã¿â¡£ ²¢·¢Ä£ÐÍ: Rust ÌṩÁËÇ¿´óµÄ²¢·¢¹¤¾ß£¬Èç async/await ºÍͨµÀ (channel)£¬Ö§³Ö¸ßЧÇÒ°²È« ÔĶÁÈ«ÎÄ
posted @ 2024-06-17 19:43 ercom ÔĶÁ(15) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

ÓÃÈË»°½âÊÍ Transformer µÄÖ´Ðйý³Ì

ÕªÒª£º 1. ÏòÁ¿»¯¡£ a56爆大奖在线娱乐 ¡ú Tokenization(·Ö´Ê) ¡ú Embeddings(ÏòÁ¿»¯) ¡ú Ä£ÐÍ 2. Ä£ÐÍÐèÒªÍêÕûÉÏÏÂÎÄ ÇÒ ÖªµÀ token µÄÏà¶ÔλÖü°¹Øϵ¡£ 3. ¹Ø×¢ token µÄ score¡£ 4. ÓÃÊäÈëa56爆大奖在线娱乐µÄÏòÁ¿£¬È¥²éÕÒ£¬µÃµ½ÖµÏòÁ¿¡£ 5. µÃµ½ÉÏÏÂÎĸÐÖªµÄÏòÁ¿¡£ ÔÚÏßÊ°È¡ ÔĶÁÈ«ÎÄ
posted @ 2024-06-15 22:53 ercom ÔĶÁ(6) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang net °üµÄ¹¦ÄܸÅÊö

ÕªÒª£º GoÓïÑÔÖÐµÄ net °üÌṩÁËÒ»¸ö¿ÉÒÆÖ²µÄÍøÂçÊäÈëÊä³ö½Ó¿Ú£¬º­¸ÇÁË TCP/IP¡¢UDP¡¢ÓòÃû½âÎöÒÔ¼° Unix ÓòÌ×½Ó×ֵȹ¦ÄÜ¡£ ¸Ã°üÌṩÁË·ÃÎʵײãÍøÂçÔ­ÓïµÄÄÜÁ¦£¬µ«´ó¶àÊý¿Í»§¶Ë½öÐèʹÓûù±¾½Ó¿Ú£¬Õâ°üÀ¨ Dial¡¢Listen ºÍ Accept º¯ÊýÒÔ¼°Ïà¹ØµÄ Conn ºÍ Listener ½Ó¿Ú ÔĶÁÈ«ÎÄ
posted @ 2024-06-15 22:52 ercom ÔĶÁ(9) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang ËùÓйؼü×ÖµÄÁÐ±í¼°ÊÍÒå¹éÀà

ÕªÒª£º golang ËùÓйؼü×ÖµÄÁÐ±í¼°ÊÍÒå¹éÀ࣬½ØÖÁ1.18°æ±¾¡£ [¿ØÖƽṹ] if : Ìõ¼þÓï¾ä£¬»ùÓÚ²¼¶û±í´ïʽµÄÖµ¾ö¶¨ÊÇ·ñÖ´ÐÐÌض¨µÄ´úÂë¿é¡£ else¡¢ else if : ÓÃÔÚ if Óï¾äÖ®ºó£¬µ±Ìõ¼þ±í´ïʽΪ¼ÙʱִÐеĴúÂë¿é¡£ switch : ¶à·ѡÔñÓï¾ä£¬¸ù¾Ý²»Í¬µÄÇé¿öÖ´Ðв»Í¬µÄ´úÂë¿é¡£ ca ÔĶÁÈ«ÎÄ
posted @ 2024-06-15 22:50 ercom ÔĶÁ(11) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

caddy run ÃüÁîÏê½â

ÕªÒª£º caddy run Õâ¸ö×ÓÃüÁîÆô¶¯ Caddy ½ø³Ì£¬²¢¿ÉÑ¡µØʹÓóõʼÅäÖÃÎļþ½øÐÐÒýµ¼£¬²¢ÎÞÏÞÆÚµØ×èÈû£¬Ö±µ½·þÎñÆ÷Í£Ö¹ÔËÐУ¬¼´ run ÊÇÔÚ"ÊØ»¤½ø³Ì"ģʽ£¨Ç°Ì¨£©ÖÐÔËÐÐ Caddy¡£ ʹÓòÎÊý£º [--config <path> [--adapter <name>]] [--envfile <pa ÔĶÁÈ«ÎÄ
posted @ 2024-06-14 23:25 ercom ÔĶÁ(6) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

caddy ·þÎñÆ÷µÄ Docker ¾µÏñ¹¹½¨Á÷³Ì

ÕªÒª£º ¹¹½¨Ò»¸ö°üº¬ Caddy ·þÎñÆ÷µÄ Docker ¾µÏñ£¬¹Ø¼ü²¿·Ö: https://github.com/caddyserver/caddy-docker/blob/master/Dockerfile.tmplÕâ¸ö Dockerfile ¾«ÐÄÉè¼Æ£¬ÓÃÓÚ×Ô¶¯»¯¹¹½¨Ò»¸ö°üº¬×îаæ Caddy Web ·þ ÔĶÁÈ«ÎÄ
posted @ 2024-06-14 23:22 ercom ÔĶÁ(62) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang select {} ºÍ for {} µÄÇø±ð

ÕªÒª£º select {} Óë for {} ÔÚ Go ÓïÑÔÖж¼ÊÇÑ­»·½á¹¹£¬µ«ËüÃǵÄÐÐΪºÍÓÃ;ÓÐËù²»Í¬£º select {}: ÊÇÒ»¸öÎÞÏÞ×èÈûµÄ select Óï¾ä£¬Ã»ÓÐÖ¸¶¨ÈκΠcase¡£ Ö÷ÒªÓÃÓڵȴýͨµÀ²Ù×÷»òÆäËûʼþ£¬ÔÚûÓÐÃ÷È·µÄͨÐÅ»òÐźÅÐèÇóʱ±£³ÖÔËÐÐ״̬¡£ µ±³ÌÐòÐèÒªÔÚûÓÐÃ÷È·½áÊøÌõ¼þµÄÇé¿öϱ£³Ö ÔĶÁÈ«ÎÄ
posted @ 2024-06-14 23:19 ercom ÔĶÁ(12) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

dockerfile CMD ºÍ ENTRYPOINT ·Ö±ðʲôʱºòÓÃ

ÕªÒª£º ÔÚ DockerÖУ¬CMD ºÍ ENTRYPOINT Ö¸ÁÊÇÓÃÀ´¶¨ÒåÈÝÆ÷Æô¶¯Ê±ÔËÐеÄĬÈÏÃüÁµ«ËüÃǵÄÓÃ;ºÍÐÐΪÓÐËù²»Í¬£¬ÊÊÓÃÓÚ²»Í¬µÄ³¡¾°£º CMD ÓÃ;£ºCMDÖ¸ÁîÓÃÀ´Ö¸¶¨ÈÝÆ÷Æô¶¯ºóĬÈÏÖ´ÐеÄÃüÁî¼°Æä²ÎÊý¡£Ëü¸üÇãÏòÓÚÌṩĬÈϵĻò¿É±»Ìæ´úµÄÖ´ÐÐÐÐΪ¡£ ¿É¸²¸ÇÐÔ£ºµ±Ê¹ÓÃdocker runÃüÁîÆô¶¯ÈÝ ÔĶÁÈ«ÎÄ
posted @ 2024-06-13 19:57 ercom ÔĶÁ(28) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

caddy Èë¿Ú rootCmd ¸ÅÀÀ

ÕªÒª£º $ go run cmd/caddy/main.go cmd/caddy/main.go CaddyÈë¿Úµã£¬CaddyµÄ¹¦ÄÜÖ÷Ҫͨ¹ýÄ£¿éÌṩ£¬¿ÉÒÔͨ¹ýÔÚµ¼ÈëÓï¾äÖÐÌí¼ÓÄ£¿éÀ´²åÈë¡£ ¸Ã³ÌÐòµÄÄ¿µÄÊÇΪÁ˶¨ÖÆ Caddy ¹¹½¨£¬¶øÎÞÐèÐÞ¸ÄÔ´´úÂë¡£¿ÉÒÔͨ¹ý¸´ÖÆ main.go Îļþµ½ÐÂÎļþ¼Ð£¬±à¼­µ¼ÈëÓï¾äÒÔ ÔĶÁÈ«ÎÄ
posted @ 2024-06-13 19:52 ercom ÔĶÁ(3) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang reflect ·´Éä»úÖƵÄʹÓó¡¾°

ÕªÒª£º GoÓïÑÔÖÐµÄ reflect °üÌṩÁËÔËÐÐʱ·´Éä»úÖÆ£¬ÔÊÐí³ÌÐòÔÚÔËÐÐʱ¼ì²éºÍ²Ù×÷Èa56爆大奖在线娱乐â¶ÔÏóµÄÊý¾ÝÀàÐͺÍÖµ¡£ ÒÔÏÂÊÇ reflect °üµÄһЩµäÐÍʹÓó¡¾°£º 1. ¶¯Ì¬ÀàÐÍÅжÏÓëת»»£ºµ±ÐèÒª´¦Àí¶àÖÖÀàÐ͵ıäÁ¿ÇÒ¾ßÌåÀàÐÍÖ±µ½ÔËÐÐʱ²ÅÄÜÈ·¶¨Ê±£¬¿ÉÒÔʹÓ÷´ÉäÀ´¼ì²é±äÁ¿µÄʵ¼ÊÀàÐÍ£¬²¢ÔÚ¿ÉÄܵÄÇé¿öϽøÐÐÀàÐÍת»»¡£ ÔĶÁÈ«ÎÄ
posted @ 2024-06-13 19:45 ercom ÔĶÁ(14) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang ×Ö½Ú¼¶²Ù×÷ºÍ×Ö·û´®µÄÇø±ðÓëת»» []byte(message)

ÕªÒª£º []byte(message) ½«×Ö·û´® message ת»»ÎªÒ»¸ö×Ö½ÚÇÐƬ£¨ []byte £©¡£ ÔÚGoÓïÑÔÖУ¬×Ö·û´®ÊDz»¿É±äµÄ£¬¶ø×Ö½ÚÇÐƬ¿ÉÒÔ±»Ð޸ġ£ ÕâÖÖת»»³£ÓÃÓÚ´¦Àí×Ö·û´®µÄ×Ö½Ú¼¶²Ù×÷£¬Èç±àÂë¡¢½âÂë»òдÈëIOÁ÷¡£ ×Ö½Ú¼¶²Ù×÷ ºÍ ×Ö·û´®²Ù×÷ ÔÚ±à³ÌÖÐÓб¾ÖʵIJ»Í¬£¬Ö÷ÒªÌåÏÖÔÚÒÔϼ¸¸ö·½Ã棺 1 ÔĶÁÈ«ÎÄ
posted @ 2024-06-12 21:10 ercom ÔĶÁ(9) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang sync.Map ÓëʹÓÃÆÕͨµÄ map µÄÇø±ð

ÕªÒª£º ʹÓÃsync.MapÓëÆÕͨµÄGo mapÖ÷ÒªÓÐÒÔϼ¸µãÇø±ð£º 1. ²¢·¢°²È«ÐÔ ÆÕͨmap: ÔÚûÓÐÍⲿͬ²½µÄÇé¿öÏ£¬²»ÊDz¢·¢°²È«µÄ¡£ÔÚ¶àgoroutine·ÃÎÊʱ£¬Èç¹ûûÓÐÊʵ±µÄËø»òÆäËûͬ²½»úÖƱ£»¤£¬¿ÉÄܻᵼÖÂÊý¾Ý¾ºÕùºÍ䶨ÒåÐÐΪ¡£ sync.Map: ÊDz¢·¢°²È«µÄ¡£ËüÄÚ²¿ÊµÏÖÁ˱ØÒªµÄͬ²½»úÖÆ£¬ÔÊÐí ÔĶÁÈ«ÎÄ
posted @ 2024-06-12 21:06 ercom ÔĶÁ(15) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

[FAQ] vscode ×°ÁË vim Ö®ºó£¬ctrl+p ²»Æð×÷ÓÃ?

ÕªÒª£º # ½øÈëÉèÖÃ(×óϽÇsetting) --> vim.handleKeys --> ÔÚ settings.jsonÖб༭£¬ °ÑÐèÒª½ûÓÃVimµÄÈȼüÒÔjson¸ñʽдÈëvim.handleKeysÖм´¿É£¬È磺 "vim.handleKeys": { "<C-a>": false, "<C-c>": fa ÔĶÁÈ«ÎÄ
posted @ 2024-06-11 22:14 ercom ÔĶÁ(3) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang oncefunc.go µÄ OnceFunc ºÍ once.go Do µÄÇø±ð

ÕªÒª£º sync.Once µÄ Do ·½·¨ºÍ OnceFunc/OnceValue/OnceValues º¯ÊýµÄÖ÷ÒªÇø±ðÔÚÓÚʹÓó¡¾°ºÍÁé»îÐÔ£º 1¡¢Ö±½ÓʹÓÃOnce.Do(f): ¸ü»ù´¡¡¢µÍ¼¶µÄ API¡£ÄãÐèÒªÏÔʽÉùÃ÷Ò»¸ö sync.Once ±äÁ¿£¬È»ºóÔÚÆäÉϵ÷Óà Do(f)·½·¨À´Ö´Ðк¯Êýf¡£ ½ö±£Ö¤º¯Êýf ÔĶÁÈ«ÎÄ
posted @ 2024-06-11 22:00 ercom ÔĶÁ(3) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang Ìر𡰱ðŤ¡±µÄµØ·½£¬»òÕß˵ÊÇÌØÉ«

ÕªÒª£º ¾¡¹Ü Go ÓïÑÔÔںܶ෽ÃæÉè¼ÆµÃÏ൱¾«ÇÉ£¬µ«ÈÔÓÐһЩÌØÐÔ»òÏÞÖÆ¿ÉÄÜÈò¿·Ö¿ª·¢Õß¾õµÃ ¡°±ðŤ¡± »òÐèҪʱ¼äÊÊÓ¦¡£ ÏÂÃæÊÇһЩ³£¼ûµÄÌÖÂ۵㣺 1. ´íÎó´¦Àí£º Go ÓïÑÔûÓÐÒì³£»úÖÆ£¬¶øÊÇͨ¹ý·µ»Ø´íÎóÖµµÄ·½Ê½À´´¦Àí´íÎó¡£ ÕâÒâζ×ÅÔںܶຯÊýµ÷Óúó¶¼ÐèÒª¼ì²é´íÎ󣬿ÉÄܻᵼÖ´úÂëÖгöÏÖ´óÁ¿µÄ´íÎó¼ì²éÂß¼­£¬ÓÐ ÔĶÁÈ«ÎÄ
posted @ 2024-06-11 21:57 ercom ÔĶÁ(8) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang ·ºÐ͵ĸñʽд·¨

ÕªÒª£º GoÓïÑÔÖеķºÐÍ£¨Generics£©ÊÇÔÚ Go 1.18 °æ±¾ÖÐÒýÈëµÄÒ»¸öÖØÒªÌØÐÔ£¬ËüÔÊÐíÄã±àд¿ÉÖØÓõĴúÂ룬¶ø²»ÐèҪΪÿÖÖÊý¾ÝÀàÐÍÖظ´±àдÏàͬµÄÂß¼­¡£ ·ºÐÍͨ¹ý²ÎÊý»¯ÀàÐÍ£¨type parameters£©À´ÊµÏÖ£¬Ê¹µÃº¯Êý¡¢·½·¨¡¢½Ó¿ÚºÍ½á¹¹Ìå¿ÉÒÔÓë¶àÖÖÀàÐÍÒ»Æð¹¤×÷¡£ ÏÂÃæÏêϸ½éÉÜGoÓïÑÔÖзºÐ͵Ļù±¾ ÔĶÁÈ«ÎÄ
posted @ 2024-06-11 21:56 ercom ÔĶÁ(31) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang sync.Once ±£Ö¤Ä³¸ö¶¯×÷½öÖ´ÐÐÒ»´ÎµÄ»úÖÆ

ÕªÒª£º type Once struct { done atomic.Uint32 m Mutex } sync.Once ÊÇ Go ÓïÑÔ±ê×¼¿â sync °üÖеÄÒ»¸öÀàÐÍ£¬ÓÃÓÚÈ·±£Ä³¸ö²Ù×÷£¨º¯Êý£©Ö»±»Ö´ÐÐÒ»´Î¡£ Õâ¶ÔÓÚ³õʼ»¯²Ù×÷·Ç³£ÓÐÓ㬱ÈÈçÊý¾Ý¿âÁ¬½ÓµÄ½¨Á¢¡¢ÈÕÖ¾ÎļþµÄ´ò¿ªµÈ£¬ÕâЩ²Ù×÷ͨ³£Ö»ÐèÒªÔÚ³ÌÐòÆô¶¯Ê± ÔĶÁÈ«ÎÄ
posted @ 2024-06-10 20:09 ercom ÔĶÁ(7) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang select µÄ case Ö´ÐÐ˳Ðò

ÕªÒª£º ÎÊÌ⣺ golang select ½á¹¹£¬¼ÙÈçµ×ÏÂÓÐÈý¸öcase£¬·Ö±ð´Ó chan1, chan2, chan3 ¶ÁÈ¡ÄÚÈÝ£¬chan1, chan2, chan3¶¼ÊÇ·Ç×èÈûµÄ£¬ÄÇôÊÇ»áÏȽøÈëµÚÒ»¸ö case£¬ÆäËücase»¹»áÔÙ½øÈëÂð ? ÔÚ Go ÓïÑÔÖУ¬select Óï¾äÓÃÓÚ¼à¿Ø¶à¸öͨµÀµÄ²Ù×÷£¬²¢ ÔĶÁÈ«ÎÄ
posted @ 2024-06-06 22:06 ercom ÔĶÁ(11) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang interface ºÍ struct Ìí¼Ó·½·¨µÄÇø±ð

ÕªÒª£º ÔÚ Go ÓïÑÔÖУ¬struct ºÍ interface ¶¼¿ÉÒÔ¹ØÁª·½·¨£¬µ«ËüÃǵķ½Ê½²»Í¬£º 1. struct Ìí¼Ó·½·¨£º ½á¹¹Ì壨struct£©±¾Éí²»Ö±½Ó°üº¬·½·¨£¬µ«¿ÉÒÔͨ¹ý¶¨ÒåÒ»¸öÖ¸Ïò¸Ã½á¹¹ÌåÀàÐ͵ÄÖ¸Õë×÷Ϊ½ÓÊÕÕߵĺ¯ÊýÀ´Îª½á¹¹Ìå¡°Ìí¼Ó¡±·½·¨¡£ type MyStruct struct { // ÔĶÁÈ«ÎÄ
posted @ 2024-06-06 21:57 ercom ÔĶÁ(20) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang ¿É±ä²ÎÊýÓ÷¨, handlers ...HandlerFunc

ÕªÒª£º handlers ...HandlerFunc ÕâÊÇʲôд·¨£¬Óë group.handle() µÚÈý¸ö²ÎÊýÊÇ []handlerFunc ÊÇʲô¹ØϵÄØ£¿ ÏÂÃæÊÇ gin ÖеÄÓ÷¨£º routergroup.go // GET is a shortcut for router.Handle("GET" ÔĶÁÈ«ÎÄ
posted @ 2024-06-05 21:00 ercom ÔĶÁ(10) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

http1.1 µÄĬÈϳ¤Á¬½Ó Connection: keep-alive Óë TCP KeepAlive Ö®¼äÇø±ð

ÕªÒª£º HTTP ³¤Á¬½Ó£¬Ò²³ÆΪ HTTP ³Ö¾ÃÁ¬½Ó£¨HTTP Persistent Connection£©»ò HTTP Á¬½ÓÖØÓã¬ÊÇa56爆大奖在线娱乐ÔÚ HTTP ЭÒéÖÐʵÏֵĻúÖÆ¡£ ÔÚ´«Í³µÄ HTTP ͨÐÅÖУ¬a56爆大奖在线娱乐 HTTP ÇëÇóºÍÏìÓ¦¶¼»á°éËæ×Å TCP Á¬½ÓµÄ½¨Á¢ºÍ¹Ø±Õ£¬ÕâÔڸ߲¢·¢³¡¾°Ï»áÔö¼ÓÍøÂ翪ÏúºÍÑÓ³Ù¡£ ¶ø ÔĶÁÈ«ÎÄ
posted @ 2024-06-05 20:35 ercom ÔĶÁ(310) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang net/http µÄ ListenAndServe µÄ¹¤×÷·½Ê½£¨È¡´ú listen¡¢accept£©

ÕªÒª£º ÔÚGoµÄ net/http °üÖУ¬µ±ÄãʹÓà ListenAndServe »ò ListenAndServeTLS º¯ÊýÆô¶¯Ò»¸öHTTP·þÎñÆ÷ʱ£¬ Äã²»ÐèÒªÖ±½Óµ÷Óà listen ºÍ accept ²Ù×÷£¬ÒòΪÕâЩº¯ÊýÒѾ­ÎªÄã´¦ÀíÁËÕâЩµ×²ãµÄÍøÂçϸ½Ú¡£ ListenAndServe º¯ÊýµÄ¹¤×÷·½Ê½ÈçÏ£º ÔĶÁÈ«ÎÄ
posted @ 2024-06-04 20:11 ercom ÔĶÁ(8) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

tcp server ΪʲôÐèÒª accept

ÕªÒª£º ÔÚTCPЭÒéÖУ¬·þÎñÆ÷¶Ë½¨Á¢Á¬½ÓµÄ¹ý³Ì·ÖΪ¼¸¸ö²½Ö裬ÆäÖÐaccept²Ù×÷Æðµ½Á˹ؼü×÷Ó㬾ßÌåÔ­Òò°üÀ¨£º 1. Á¬½Ó¹ÜÀí£ºµ±Ò»¸öTCP¿Í»§¶Ë·¢ÆðÁ¬½ÓÇëÇóʱ£¬Ëü»áÏò·þÎñÆ÷·¢ËÍÒ»¸öSYN£¨Í¬²½£©°ü£¬¿ªÊ¼Èý´ÎÎÕÊÖ¹ý³Ì¡£ ·þÎñÆ÷ͨ¹ý¼àÌý socket ½ÓÊÕµ½Õâ¸öSYN°üºó£¬»á»Ø¸´Ò»¸öSYN-ACK£¨Í¬²½-È·ÈÏ ÔĶÁÈ«ÎÄ
posted @ 2024-06-04 20:05 ercom ÔĶÁ(14) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang µÄ net/http ºÍ net/rpc µÄÇø±ð, rpc ЧÂÊ±È http ¸ß?

ÕªÒª£º ÔÚGoÓïÑÔÖУ¬net/http ºÍ net/rpc ÊÇÁ½¸ö²»Í¬µÄ°ü£¬ËüÃÇ·Ö±ðÓÃÓÚʵÏÖ²»Í¬µÄÍøÂçͨÐÅģʽ£º net/http: net/http °üÖ÷ÒªÓÃÓÚ¹¹½¨Web·þÎñºÍ¿Í»§¶Ë£¬ËüʵÏÖÁËHTTPЭÒ飬ÕâÊÇ»¥ÁªÍøÉÏ×î¹ã·ºÊ¹ÓõÄÓ¦ÓòãЭÒéÖ®Ò»£¬Ö÷ÒªÓÃÓÚ´«Ê䳬a56爆大奖在线娱乐£¨HTML£©ºÍÆäËû×ÊÔ´¡£ HTTP ЭÒéÊÇ ÔĶÁÈ«ÎÄ
posted @ 2024-06-04 19:57 ercom ÔĶÁ(180) ÆÀÂÛ(0) ÍƼö(1) ±à¼­

[FAQ] unix, unixpacket ÊôÓÚ´«Êä²ãÂð

ÕªÒª£º unix ºÍ unixpacket£¨Ò²³Æ×÷UnixÓòÌ×½Ó×Ö£©²¢²»ÊôÓÚTCP/IPÄ£ÐÍÖеĴ«Êä²ã¡£ ËüÃÇÊDzÙ×÷ϵͳÌṩµÄÁía56爆大奖在线娱乐ͨÐÅ»úÖÆ£¬Ö÷ÒªÓÃÓÚÔÚͬһ̨»úÆ÷ÉϵĽø³Ì¼äͨÐÅ£¨IPC£¬Inter-Process Communication£©¡£ UnixÓòÌ×½Ó×Ö¿ÉÒÔ¿´×÷ÊÇÎļþϵͳÖеÄÒ»¸öÌØÊâÎļþ£¬¾ßÓÐÒÔÏÂÁ½ ÔĶÁÈ«ÎÄ
posted @ 2024-05-30 21:35 ercom ÔĶÁ(8) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang import µ¼ÈëµÄËÄÖÖ·½Ê½

ÕªÒª£º 1 ±ê×¼µ¼È룺 import "package_name" 2 µ¼Èë±ðÃû£º import ( alias "package_name" ) 3 ÄäÃûµ¼È룺 import ( _ "package_name" ) 4 µãµ¼È룺 import ( . "package_name" ) ÏÂÃæ×öÏêϸ½âÊÍ£º ÔĶÁÈ«ÎÄ
posted @ 2024-05-30 21:29 ercom ÔĶÁ(35) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang errgroup µÄ³¬Ê±¼ì²â

ÕªÒª£º > golang errgroup µÄ×÷ÓÃ. errgroup µÄ³¬Ê±¼ì²âͨ³£ÊÇa56爆大奖在线娱乐ʺóµÃµ½½á¹ûµÄ·½Ê½¡£ errgroup±¾Éí²¢²»Ö±½ÓÖ§³Ö³¬Ê±¿ØÖÆ£¬¶øÊÇÒÀÀµÓÚÓëÖ®¹ØÁªµÄcontext.ContextÀ´ÊµÏÖ³¬Ê±ºÍÈ¡Ïû¹¦ÄÜ¡£ µ±context³¬Ê±Ê±£¬Ëü»á¹Ø±ÕDoneͨµÀ£¬Õ⽫֪ͨerrgroupÖеÄЭ³Ì ÔĶÁÈ«ÎÄ
posted @ 2024-05-29 21:02 ercom ÔĶÁ(28) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang errgroup µÄ×÷ÓÃ

ÕªÒª£º errgroup ÊÇ Go ÖÐÓÃÓÚ²¢·¢¿ØÖƺʹíÎó´¦ÀíµÄÒ»¸ö¹¤¾ß£¬ÌṩÁËa56爆大奖在线娱乐·½±ãµÄ·½Ê½À´Ð­µ÷¶à¸ögoroutine¡£ ËüÔÊÐíÄãÔÚÒ»¸ö×éÖÐÔËÐжà¸ögoroutine£¬²¢µÈ´ýËüÃÇÈ«²¿Íê³É£¬Í¬Ê±ÊÕ¼¯ºÍ·µ»ØµÚÒ»¸ö·¢ÉúµÄ´íÎó¡£ ËüµÄÖ÷Òª×÷ÓðüÀ¨£º ͬ²½: errgroup.Group ÌṩÁËÒ»¸ö Wait ·½·¨ ÔĶÁÈ«ÎÄ
posted @ 2024-05-29 20:59 ercom ÔĶÁ(9) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golangµÄ CGO ÊÇʲô

ÕªÒª£º CGOÊÇGo£¨Golang£©ÓïÑÔÖеÄÒ»¸ö¹¤¾ß£¬È«³ÆΪ "C-Go" »òÕß "C for Go"¡£ ËüÊÇGo±ê×¼¿âµÄÒ»²¿·Ö£¬ÔÊÐíGo´úÂëÓëCÓïÑÔ´úÂë½øÐн»»¥¡£ CGOÌṩÁËÔÚGo³ÌÐòÖÐʹÓÃCÓïÑÔ¿âµÄÄÜÁ¦£¬Í¬Ê±Ò²ÔÊÐíC´úÂëµ÷ÓÃGoµÄº¯Êý¡£ ͨ¹ýCGO£¬¿ª·¢Õß¿ÉÒÔÀûÓÃGoÓïÑÔµÄÇ¿ÀàÐͺÍÀ¬»ø»ØÊÕµÈÌØÐÔ£¬Í¬Ê± ÔĶÁÈ«ÎÄ
posted @ 2024-05-27 23:03 ercom ÔĶÁ(78) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golangµÄ½»²æ±àÒëÊÇʲô

ÕªÒª£º Go£¨Golang£©µÄ½»²æ±àÒëÊÇÖ¸ÔÚa56爆大奖在线娱乐Ó²¼þ¼Ü¹¹»ò²Ù×÷ϵͳ»·¾³Ï£¬Ê¹ÓÃGo±àÒëÆ÷Éú³ÉÊÊÓÃÓÚÁía56爆大奖在线娱乐¼Ü¹¹»ò²Ù×÷ϵͳµÄ¿ÉÖ´ÐгÌÐò¡£ GoÓïÑÔµÄÉè¼ÆʹµÃ½»²æ±àÒë±äµÃ·Ç³£¼òµ¥ºÍ¸ßЧ£¬ËüÔÊÐí¿ª·¢ÕßÔÚ¿ª·¢»·¾³Öй¹½¨Ä¿±êƽ̨ÉϵĴúÂ룬¶øÎÞÐèÔÚÄ¿±êƽ̨ÉÏʵ¼ÊÔËÐбàÒë¹ý³Ì¡£ ÔÚGoÖУ¬½»²æ±àÒëÖ÷ÒªÉæ¼°µ½ÉèÖÃÁ½¸ö»·¾³±äÁ¿ ÔĶÁÈ«ÎÄ
posted @ 2024-05-27 23:00 ercom ÔĶÁ(2) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golangΪʲôchan´ó²¿·ÖÊÇ·¢ËͽṹÌ壬¶ø²»ÊÇÆäËü±ÈÈçstring

ÕªÒª£º type token struct{} type Group struct { cancel func(error) wg sync.WaitGroup sem chan token errOnce sync.Once err error } func (g *Group) done() { if ÔĶÁÈ«ÎÄ
posted @ 2024-05-27 22:56 ercom ÔĶÁ(15) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

golang µÄѧϰÇúÏß

ÕªÒª£º Go£¨Golang£©ÓïÑÔµÄÉè¼ÆÄ¿±êÖ®Ò»¾ÍÊÇÈÃÆäѧϰÇúÏß¾¡¿ÉÄÜƽ»º£¬ÕâÒâζ×ŶÔÓÚ´ó¶àÊý¿ª·¢ÕßÀ´Ëµ£¬Ñ§Ï°GoÓïÑÔ±ÈÐí¶àÆäËûÏÖ´ú±à³ÌÓïÑÔ¿ÉÄܸü¿ìÉÏÊÖ¡£ÒÔÏÂÊÇͨ³£GolangѧϰÇúÏßµÄÒ»¸ö¸ÅÊö£º 1 ÈëÃŽ׶Σº »ù±¾Óï·¨£ºGoÓïÑÔµÄÓï·¨Ïà¶Ô¼òµ¥£¬ÓëC/C++ºÍJavaÓÐÒ»¶¨µÄÏàËÆÐÔ£¬a56爆大奖在线娱乐¶ÔÓÚÓÐÕâЩ±³¾°µÄ¿ª·¢ ÔĶÁÈ«ÎÄ
posted @ 2024-05-23 19:06 ercom ÔĶÁ(23) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

Gin ¿ò¼ÜµÄÖ´ÐÐÁ÷³Ì

ÕªÒª£º Gin¿ò¼ÜÊÇÒ»¸öÓÃGoÓïÑÔ±àдµÄ¸ßÐÔÄÜWeb¿ò¼Ü£¬Ëü»ùÓÚhttprouterʵÏÖ£¬¾ßÓпìËÙ¡¢¼ò½àºÍ¸ßЧµÄÌØÐÔ¡£ ÒÔÏÂÊÇGin¿ò¼Ü´¦ÀíHTTPÇëÇóµÄ´óÖÂÖ´ÐÐÁ÷³Ì£º 1 ³õʼ»¯GinÒýÇæ: Óû§´´½¨Ò»¸öеÄgin.EngineʵÀý£¬Õâͨ³£ÊÇÓ¦ÓóÌÐòµÄÖ÷·ÓÉÆ÷¡£ Óû§¶¨Òå·ÓÉ£¬ÕâЩ·ÓÉÊÇͨ¹ýengine. ÔĶÁÈ«ÎÄ
posted @ 2024-05-23 18:59 ercom ÔĶÁ(29) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

Gin context ¹¦ÄÜ·ÖÀà(context.go)

ÕªÒª£º CONTEXT CREATION FLOW CONTROL ERROR MANAGEMENT METADATA MANAGEMENT INPUT DATA RESPONSE RENDERING CONTENT NEGOTIATION GOLANG.ORG/X/NET/CONTEXT ÔÚÏß IPFS ÔĶÁÈ«ÎÄ
posted @ 2024-05-23 18:54 ercom ÔĶÁ(3) ÆÀÂÛ(0) ÍƼö(0) ±à¼­

¿ª·¢ä¯ÀÀÆ÷extensionºÍ¿ª·¢Óͺï½Å±¾µÄÇø±ð£¬È«·½Î»¶Ô±È

ÕªÒª£º ¿ª·¢ä¯ÀÀÆ÷Extension£¨À©Õ¹£©ºÍÓͺï½Å±¾£¨Í¨³£Ö¸µÄÊÇTampermonkeyÕâÑùµÄÓû§½Å±¾¹ÜÀíÆ÷£©ËäÈ»¶¼¿ÉÒÔÔöÇ¿ä¯ÀÀÆ÷¹¦ÄÜ£¬µ«ËüÃÇÔÚ¶à¸ö·½Ãæ´æÔÚÏÔÖøµÄ²îÒì¡£ ÒÔÏÂÊÇÈ«·½Î»µÄ¶Ô±È£º 1 ¸²¸Ç·¶Î§: ä¯ÀÀÆ÷À©Õ¹£ºÍ¨³£Ìṩȫ¾ÖÐÔµÄÔöÇ¿£¬Ó°ÏìÕû¸öä¯ÀÀÆ÷»òÌض¨ÀàÐ͵ÄÍøÒ³£¬¿ÉÒÔÐÞ¸Ää¯ÀÀÆ÷½çÃæ¡¢ÌṩÐµĹ¦ÄÜ ÔĶÁÈ«ÎÄ
posted @ 2024-05-22 20:17 ercom ÔĶÁ(46) ÆÀÂÛ(0) ÍƼö(0) ±à¼­