国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Go1.23 新特性:Slices、Panic、Cookie 等函數改進,效率提高了!

開發 前端
今天給大家分享了一些 Go1.23 新版本的新方法、函數,目前來看這些函數沒有特別大的功能調整,主要都是對于日常工程開發上的優化。

大家好,我是煎魚。

最近介紹了 Go1.23 的幾個重要新特性。今天給大家分享一些本次新版本的方法/函數的功能優化、改進的匯總。

主打一個快速知悉,跟上新用法。看看 rsc 在 Go 核心團隊負責人的職業生涯最后都推動了什么函數的合入。

Go1.23 方法/函數優化

slices.Repeat

這是一個今年(2024 年)才提出的新提案,原提案作者提供給功能介紹時,還給出了其他語言的相關案例。很快受到了 Go 官方團隊的響應并通過。

圖片圖片

函數簽名:

func Repeat[S ~[]E, E any](x S, count int "S ~[]E, E any") S

Repeat 方法會返回一個新的切片,函數的作用是將所提供的切片,按給定的次數進行重復。

注意:如果 count 為負數或溢出,該方法會觸發 panic 事件。

Go1.23 代碼例子如下:

import (
 "fmt"
 "slices"
)

func main() {
 s := []string{"煎魚", "咸魚", "摸魚"}
 repeat := slices.Repeat(s, 2)
 fmt.Println(repeat)
}

輸出結果:

[煎魚 咸魚 摸魚 煎魚 咸魚 摸魚]

os.DirFS

這個新提案由 rsc 于 2023 年從 2021 年的舊提案轉化過來,目的上是為了更安全地將目標文件復制到本地文件系統,認為可以幫助到很多場景。

圖片圖片

函數簽名:

func DirFS(dir string) fs.FS

os.DirFS 方法返回以目錄 dir 為根的文件樹的文件系統(fs.FS),再結合 os.CopyFS 方法可以實現一次性的遞歸復制文件和目錄。

Go1.23 代碼例子如下:

src := os.DirFS("/Users/eddycjy/hello.txt")
dst := "/tmp/hello.txt"

err := os.CopyFS(dst, src)
if err != nil {
 panic(err)
}

fmt.Printf("copied %s to %s\n", src, dst)

panic

在 Go1.22 及以前的版本,運行以下代碼:

func main() {
 panic("腦子\n進\nI\n煎魚了")
}

輸出結果如下:

panic: 腦子
進
I
煎魚了

goroutine 1 [running]:
main.main()
 /tmp/sandbox3096848362/prog.go:6 +0x25

Go1.23 新版本起,輸出結果將會變成:

panic: 腦子
 進
 I
 煎魚了

goroutine 1 [running]:
main.main()
 /tmp/sandbox1717599036/prog.go:6 +0x25

新版本后,panic 函數會用制表符縮進錯誤信息(如 panic 的參數)的第二行和后續行,以區別于第一個 goroutine 的堆棧跟蹤。

http.ParseCookie/ParseSetCookie

現在在 Go 程序中,如果我們要從 cookie 標頭字符串中提取 cookie 結構體。需要編寫以下類似的代碼:

req := http.Request{Header: http.Header{"Cookie": []string{raw}}}
cookies := req.Cookies()

雖然從原提案的角度來看還能用。但是終究繞了幾層才把東西取到,也不方便。

因此 @Eyal Posener 在 2018 年提出了 x/net/http/httpguts: add ParseCookie and ParseSetCookie[1] 的新提案訴求。在 2024 年,rsc 重新把這活拎了出來,加進了新版本中。

本次 Go1.23 是在 net.http 標準庫中新增了如下兩個方法:

  1. ParseCookie
  2. ParseSetCookie

ParseCookie

函數簽名:

func ParseCookie(line string) ([]*Cookie, error)

ParseCookie 解析 Cookie 標頭值并返回其中設置的所有 Cookie。

Go1.23 代碼例子如下:

func main() {
 lines := "session_id=eddycjy; value=hello-world; lang=en; lang=zh-CN"
 cookies, _ := http.ParseCookie(lines)
 for _, cookie := range cookies {
  fmt.Printf("%s: %s\n", cookie.Name, cookie.Value)
 }
}

輸出結果:

session_id: eddycjy
value: hello-world
lang: en
lang: zh-CN

如果存在多個相同字段,將會返回多次。

ParseSetCookie

函數簽名:

func ParseSetCookie(line string) (*Cookie, error)

ParseSetCookie 函數解析 Set-Cookie 標頭值并返回 Cookie。

Go1.23 代碼例子如下:

func main() {
 line := "session_id=eddycjy; MaxAge=0; lang=zh-CN; Domain=.eddycjy.com"
 cookie, _ := http.ParseSetCookie(line)

 fmt.Println("Name:", cookie.Name)
 fmt.Println("Value:", cookie.Value)
 fmt.Println("Domain:", cookie.Domain)
 fmt.Println("MaxAge:", cookie.MaxAge)
}

輸出結果:

Name: session_id
Value: eddycjy
Domain: .eddycjy.com
MaxAge: 0

在解析結果上,主要是對標 Cookie,有預定義的標準字段:

type Cookie struct {
 Name  string
 Value string

 Path       string    // optional
 Domain     string    // optional
 Expires    time.Time // optional
 RawExpires string    // for reading cookies only

 // MaxAge=0 means no 'Max-Age' attribute specified.
 // MaxAge<0 means delete cookie now, equivalently 'Max-Age: 0'
 // MaxAge>0 means Max-Age attribute present and given in seconds
 MaxAge   int
 Secure   bool
 HttpOnly bool
 SameSite SameSite
 Raw      string
 Unparsed []string // Raw text of unparsed attribute-value pairs
}

如果有自定義字段需要讀取的,可以使用 Cookie.Raw 讀取到原始的字符串進行解析和額外處理。

總結

今天給大家分享了一些 Go1.23 新版本的新方法、函數,目前來看這些函數沒有特別大的功能調整,主要都是對于日常工程開發上的優化。

這些新調整也算是針對開發效率的一定的提效了,大家可以及時用到工作的開發上!

責任編輯:武曉燕 來源: 腦子進煎魚了
相關推薦

2024-08-20 08:51:41

2024-02-07 13:37:39

AWS系統應用程序

2024-09-09 08:56:03

2024-08-01 08:47:04

Go計時器工程

2021-12-08 12:50:39

代碼MyBatisJava

2012-05-02 11:09:38

無線網絡數據傳輸

2012-05-02 12:39:31

無線網絡多跳無線網絡數據傳輸

2024-05-11 09:24:15

性能Go團隊

2019-06-21 08:39:23

SQLmysql索引

2019-12-10 09:47:51

IaaS云計算物聯網

2021-07-28 09:32:57

Go社區GitHutGo模塊

2020-06-11 08:05:47

nginx線程池數據

2020-08-21 10:59:10

微軟服務器運維

2020-06-12 14:44:06

線程池模式nginx

2020-02-25 16:51:34

Rust廣告攔截器瀏覽器

2021-07-28 14:35:09

代碼進度條前端

2024-09-02 00:30:41

Go語言場景

2025-09-11 02:00:00

2025-02-12 08:50:22

點贊
收藏

51CTO技術棧公眾號

www.日本xxxx| 中文字幕永久视频| 日韩精品一区二区三区免费视频| 福利二区91精品bt7086| 日本香蕉视频在线观看| 日韩国产欧美在线播放| 国产精品视频免费一区| 一区二区导航| 亚州欧美日韩中文视频| 色999韩欧美国产综合俺来也| 亚洲成人精品久久久| 99中文字幕一区| 欧美日韩在线视频一区二区| 成人国产视频在线| 中文字幕免费不卡在线| 成人观看免费完整观看| 国产 欧美在线| 特大黑人娇小亚洲女mp4| 捆绑变态av一区二区三区 | aaa大片在线观看| 欧洲亚洲国产日韩| 亚洲女优视频| 亚洲第一狼人社区| 在线免费av观看| 五月综合激情日本mⅴ| 天堂电影在线| 色av一区二区| 女女色综合影院| 日韩视频永久免费| 在线观看电影av| 欧美一区二区久久| 26uuu亚洲电影在线观看| 精品国产一区a| 91福利在线尤物| 国产丝袜一区二区三区| 国产精品一区二区免费福利视频 | 香蕉视频免费在线播放| 91精品国产色综合久久不卡蜜臀| 黄av在线播放| 精品香蕉在线观看视频一| 欧美日韩尤物久久| 久久99热精品这里久久精品| 国产精品一线| 国产主播欧美精品| 亚洲一区日韩在线| 国产视频在线观看网站| 中文字幕国产一区| 桃花色综合影院| 精品国产伦一区二区三区观看体验 | 婷婷精品在线| 国产精品看片资源| 91tv精品福利国产在线观看| 欧美13一14另类| av电影在线观看完整版一区二区| 成年人在线观看视频免费| 亚洲国产中文字幕| 米奇精品一区二区三区| 伊人久久免费视频| 欧美色图在线播放| 色一情一乱一伦一区二区三欧美| 国产一区二区三区四区二区 | 日本精品一区二区三区在线播放视频| 蜜桃一区二区三区| 激情久久av| 懂色av一区二区三区免费看| 国产视频手机在线播放| 亚洲精品国产无套在线观| 国产午夜在线观看| 亚洲第一精品久久忘忧草社区| 色8久久影院午夜场| 欧洲日本亚洲国产区| 亚洲女同同性videoxma| 妓院一钑片免看黄大片| 欧美三级电影在线观看| 伊人久久一区| 国产成人av一区二区三区| 九九九久久久精品| 香港日本韩国三级| 日韩精品久久久久| 欧美女优在线视频| 日韩视频一二三| 亚洲国产精品久久人人爱蜜臀| 乱插在线www| 4438全国成人免费| 鲁大师影院一区二区三区| 99爱免费视频| 亚洲福利视频专区| 欧美女王vk| av动漫在线播放| 欧美亚洲精品一区| 国产精品qvod| 男人天堂成人网| 色狠狠综合天天综合综合| 视频精品一区二区三区| 日韩欧美视频一区二区| 亚洲图片欧美视频| 高清在线一区二区| 日日噜噜噜噜夜夜爽亚洲精品| 亚洲另类在线制服丝袜| 久久久人成影片一区二区三区在哪下载| 91欧美视频网站| 久久久久九九视频| 黄网av在线| 国产精品二区在线| 亚洲欧美偷拍另类a∨色屁股| 一区二区三区电影大全| 国产精品免费一区二区三区在线观看 | 韩国美女久久| 国产精品免费一区二区三区观看| 国产精品视频观看| 日本久久一区| 国产精品videossex国产高清 | 中文字幕在线永久在线视频| 久久亚洲精品毛片| 国内一区二区视频| 色网站免费在线观看| 国产综合视频在线观看| 1000部国产精品成人观看| 久久电影天堂| 秋霞无码一区二区| 亚洲全黄一级网站| 精品一区二区三区不卡| 性直播体位视频在线观看| 精品国产福利| 欧美精品在欧美一区二区少妇| 国产高清一区| 久久观看最新视频| 欧美少妇一区二区| 黄色成人在线网址| 国产中文字幕在线| 国内伊人久久久久久网站视频 | 一精品久久久| 青青青国产在线视频| 亚洲成人精品久久| 欧美日韩一区自拍| 国产69久久| 国产欧美一区二区白浆黑人| 国产日韩三级在线| 视频欧美精品| 91看片淫黄大片91| 中日韩午夜理伦电影免费| 久久精品免费| 最新97超碰在线| 91麻豆国产语对白在线观看| 亚洲欧美另类综合偷拍| 欧美久久一区二区三区| 视色,视色影院,视色影库,视色网| 欧美日韩国产精选| 日韩视频三区| 欧美a在线看| 在线观看视频黄色| 亚洲第一男人天堂| 日韩精品久久久久久| 最新av网站在线观看| 成人资源av| 日韩一区二区在线播放| 日韩亚洲在线| 91se在线| 欧美日韩国产免费一区二区三区 | 91精品国产色综合| 国产精品热久久久久夜色精品三区| 日韩电影免费观看高清完整版在线观看| 欧美日韩一区二区三区电影| 亚洲国产欧美一区二区三区同亚洲 | 日本手机在线视频| 国产性色av一区二区| 国产精品99久久久| 二吊插入一穴一区二区| 精品国产一区三区| 国产不卡在线观看| 午夜精品久久久| 午夜久久福利| 调教一区二区| 欧美日韩一级在线| 九九热视频这里只有精品| 中文字幕乱码日本亚洲一区二区| 国产欧美三级电影| 欧美性猛交7777777| 国产精品国产亚洲精品看不卡15 | 成人影院在线免费观看| 男人的天堂99| 欧洲午夜精品久久久| 亚洲欧洲成人自拍| 国产成人精品999在线观看| 在线三级av| 欧美精品与人动性物交免费看| 亚洲成色999久久网站| 波多野结衣在线aⅴ中文字幕不卡| 日韩精品亚洲专区在线观看| 国产美女免费观看| 成人国产一区二区| 精品精品国产高清a毛片牛牛| 国产日韩亚洲欧美综合| 久久中文字幕二区| 岛国片av在线| 中文字幕永久视频| 欧美精品123| 久久久久久久97| 欧美日韩在线三级| 成人福利电影精品一区二区在线观看|