当前位置: 首页 > news >正文

广州网站设计实力乐云seowordpress asp

广州网站设计实力乐云seo,wordpress asp,网站建设模板源代码,军事新闻视频Go#xff08;或 Golang#xff09;是一种现代、静态类型、编译型的编程语言#xff0c;专为构建可扩展、并发和高效的软件而设计。它提供了各种内置的函数和特性#xff0c;帮助开发人员编写简洁高效的代码。其中包括 new() 和 make() 函数#xff0c;这两个函数乍看起来… Go或 Golang是一种现代、静态类型、编译型的编程语言专为构建可扩展、并发和高效的软件而设计。它提供了各种内置的函数和特性帮助开发人员编写简洁高效的代码。其中包括 new() 和 make() 函数这两个函数乍看起来可能相似但在 Go 中用于不同的目的对于内存分配和数据初始化至关重要。 在本博客文章中我们将探讨 new() 和 make() 函数之间的区别了解何时以及如何有效地使用它们。 new() 和 make() 函数 new() 和 make() 都是 Go 中的内置函数用于分配内存。然而它们用于不同的数据类型和场景 new() 函数 new() 用于为值类型例如整数、浮点数、结构体分配内存并返回指向新分配的零值的指针。它接受一个参数即类型并返回该类型的指针。 make() 函数 make() 用于创建和初始化切片、映射和通道这些都是 Go 中的引用类型。它根据类型的不同接受两个或三个参数并返回一个已初始化非零值的值可以立即使用。 理解 new() 函数 new() 函数的语法非常简单如下所示 func new(Type) *Type这里的 Type 表示我们想要为其分配内存的值的类型。让我们看一个如何使用 new() 的示例。 在这个示例中我们使用 new() 创建了 Person 结构体的一个新实例然后使用指针分配值给其字段。 package mainimport fmttype Person struct {Name stringAge int }func main() {// Using new() to allocate memory for a Person structp : new(Person)fmt.Printf(%T\n, p)// Accessing struct fields using the pointerp.Name Alicep.Age 30// Displaying the valuesfmt.Println(Name:, p.Name)fmt.Println(Age:, p.Age) }这个程序将产生如下所示的输出。 go run main.go *main.Person Name: Alice Age: 30理解 make() 函数 make() 函数的语法取决于它所用于的类型。 对于切片Slices func make([]Type, len, cap) []TypeType切片将保存的元素类型。len切片的初始长度。cap切片的容量这是可选的并用于指定底层数组的容量。如果未提供它默认与长度相同。 使用 make() 创建切片的示例 package mainimport fmtfunc main() {// Using make() to create a slice of integersnumbers : make([]int, 5, 10)// Displaying the slices length, capacity, and valuesfmt.Println(Length:, len(numbers))fmt.Println(Capacity:, cap(numbers))fmt.Println(Values:, numbers)// Using make() to create a slice of integersnumbersWithoutOptional : make([]int, 5)// Displaying the slices length, capacity, and valuesfmt.Println(Length:, len(numbersWithoutOptional))fmt.Println(Capacity:, cap(numbersWithoutOptional))fmt.Println(Values:, numbersWithoutOptional) }此程序将产生如下输出。 go run main.go Length: 5 Capacity: 10 Values: [0 0 0 0 0] Length: 5 Capacity: 5 Values: [0 0 0 0 0]对于映射Maps func make(map[KeyType]ValueType, initialCapacity int) map[KeyType]ValueTypeKeyType映射中键的类型。ValueType与键关联的值的类型。initialCapacity映射的初始容量。这是可选的但当预先知道元素数量时可以用于优化性能。 使用 make() 创建映射的示例 package mainimport fmtfunc main() {// Using make() to create a map of string keys and int valuesscores : make(map[string]int)// Adding values to the mapscores[Alice] 95scores[Bob] 87// Displaying the mapfmt.Println(Scores:, scores) }go run main.go Scores: map[Alice:95 Bob:87]对于通道Channels func make(chan Type, capacity int) chan TypeType可以通过通道发送和接收的值的类型。capacity通道的缓冲区大小。如果设置为0通道是无缓冲的。 使用 make() 创建通道的示例 package mainimport (fmttime )func main() {// Using make() to create an unbuffered channel of integersch : make(chan int)// Sending data into the channel using a goroutinego func() {for i : 1; i 5; i {ch - itime.Sleep(time.Second) // Simulating some work before sending the next value}close(ch)}()// Receiving data from the channelfor num : range ch {fmt.Println(Received:, num)} }go run main.go Received: 1 Received: 2 Received: 3 Received: 4 Received: 5结论 在本博客文章中我们解开了 Go 中的 new() 和 make() 函数的谜团并解释了它们的区别和用途。总结一下 使用 new() 为值类型分配内存并获取指向零值的指针。使用 make() 创建和初始化切片、映射和通道引用类型并指定它们的类型和初始容量。 理解 new() 和 make() 之间的区别对于在 Go 中进行高效的内存分配和数据初始化至关重要。正确使用这些函数将在您的 Golang 项目中产生更干净和更优化的代码。愿您编程愉快
http://www.hkea.cn/news/14403611/

相关文章:

  • 网站建设网站需要什么医疗创意小产品设计
  • html5网站制作编辑源码北京电脑培训班零基础
  • 商城网站建设机构桌面百度
  • 什么是网站解析域名查询备案查询
  • 做网站用哪种代码比较好推广网站建设时间安排
  • 盐城公司网站建设大型企业网站开发
  • 兰州构建公司青岛网站优化联系方式
  • 网站制作学习网站工作室建设与管理思路与设想
  • 一地址和二地址百度优化seo
  • 网站建设系如何在网上卖货
  • wordpress网站图片加速深圳 建网站
  • 手机网站轮播图企业网站设计方案书
  • 郑州做网站设计的公司个人网站必须备案
  • 环保网站设计是什么企业网站seo推广技巧
  • 网络网站常熟有没有做阿里巴巴网站
  • html5教育网站论文答辩ppt范例模板
  • 网站开发宣传图片网站建设栏目层级
  • 区域教育联盟网站建设outlook企业邮箱怎么申请
  • 毕设 网站开发的必要性wordpress get_pages 输出格式
  • 建立网站需要哪些lnmp新手 wordpress
  • 聊城手机站网站公司东莞正规制作网站公司吗
  • wordpress 做企业站wordpress右键插件
  • 网站导航的分类有哪些北京市网站建设
  • 推广型网站开发网址金华网站设计公司
  • 天津网站制作企业专业的免费建站
  • 推广一次多少钱搜索引擎优化seo网站
  • 做网站添加支付功能要多少钱免费做电子相册的网站
  • 福田企业网站推广哪里好设计制作活动内容的原则
  • 淘宝详情页做的比较好的网站软件需求分析
  • 西安专业做网站网站结构优化的优化包括