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

做类似淘宝的网站前景南宁市建设工程造价信息网

做类似淘宝的网站前景,南宁市建设工程造价信息网,莱芜网络公司平台,做网站可以用思源字体吗摘要#xff1a;本文将深入探讨Golang中的New和Make函数在内存分配和初始化方面的区别。我们将通过理论阐述和示例代码来解释这两个函数的作用#xff0c;并帮助读者更好地理解它们在实际编程中的应用。 一、引言 在Golang中#xff0c;New和Make是用于内存分配和初始化的…摘要本文将深入探讨Golang中的New和Make函数在内存分配和初始化方面的区别。我们将通过理论阐述和示例代码来解释这两个函数的作用并帮助读者更好地理解它们在实际编程中的应用。 一、引言 在Golang中New和Make是用于内存分配和初始化的重要函数。虽然它们都涉及到内存的分配但在对象创建和初始化方面存在一些差异。了解这些差异有助于我们更好地选择合适的函数来满足不同的需求。 二、理论背景 1. New函数 New函数用于分配内存并返回一个指向该内存的指针。它接受一个参数类型作为参数并返回一个指向该类型的零值的指针。这意味着使用New创建的对象会被初始化为其类型的零值。例如使用Newint将返回一个指向整数的指针但该整数的值为零。 2. Make函数 相比之下Make函数用于创建并初始化一个或多个对象。它接受一个类型作为参数并返回一个已初始化的对象或切片。与New不同Make会根据类型的初始化规则对对象进行初始化这意味着它不仅分配内存还会将内存初始化为类型的非零值。 三、示例代码 为了更好地理解New和Make的差异让我们通过一些示例代码来深入探讨。 1. New示例 package mainimport fmttype Person struct {Name stringAge int }func main() {p : New(Person) // 使用New分配内存并返回指向Person类型的零值的指针fmt.Println(p) // 输出{ 0} }在上面的示例中我们使用New函数创建了一个指向Person类型的零值的指针。由于Person结构体的字段类型是非零值因此这些字段的值将为零值例如字符串为空字符串整数为0。 2. Make示例 package mainimport fmt import container/vector // 导入vector包以使用Make函数创建向量func main() {v : Make(vector.Vector, 0, 0) // 使用Make创建并初始化一个向量初始大小为0容量为0fmt.Println(v) // 输出[] }在上面的示例中我们使用Make函数创建并初始化了一个向量。由于向量的初始大小和容量都为0因此它的值为空向量即长度为0的向量。但是请注意向量的容量将根据需要动态增长。 四、结论与建议 通过以上理论阐述和示例代码我们可以得出以下结论 New函数用于分配内存并返回指向类型的零值的指针。这意味着使用New创建的对象会被初始化为类型的零值。在需要创建具有默认值的对象时可以使用New。例如对于整数类型使用Newint将返回一个指向整数的指针整数的值为零。Make函数用于创建并初始化一个或多个对象。与New不同Make会根据类型的初始化规则对对象进行初始化将其初始化为非零值。因此当需要创建已经初始化的对象时可以使用Make。例如使用Make可以创建一个初始大小和容量为0的向量但实际使用时向量的大小会动态增长。在实际编程中选择使用New还是Make取决于具体的需求。如果只需要创建一个具有默认值的对象可以使用New如果需要创建一个已经初始化的对象或切片可以使用Make。同时也要注意不同类型的对象或切片的初始化规则以确保正确使用这两个函数。 五、示例使用New和Make在实践中 让我们通过一个具体的示例来进一步说明New和Make在实际编程中的应用。 假设我们正在开发一个电子商务网站需要在购物车中保存用户的商品列表。我们可以使用切片来存储商品每个商品是一个结构体实例。 首先我们定义一个Product结构体表示商品 type Product struct {ID intName stringPrice float64Quantity int }接下来我们使用New函数创建一个指向Product类型的零值的指针 p : New(Product)然后我们可以使用该指针创建一个商品对象并为其字段赋予实际的值 p.ID 1 p.Name Apple iPhone 13 p.Price 999.99 p.Quantity 1现在我们可以将该商品添加到购物车中。购物车可以使用切片来存储商品 cart : Make(vector.Vector, 0, 10) // 使用Make创建一个初始大小为0容量为10的向量来存储商品然后我们可以将商品对象添加到购物车中 cart.PushBack(p) // 将商品添加到购物车中现在购物车中有了一个商品。我们可以继续添加更多的商品到购物车中直到用户结账。 六、总结与建议 在Golang中New和Make是用于内存分配和初始化的重要函数。New函数用于分配内存并返回指向类型的零值的指针而Make函数用于创建并初始化一个或多个对象。选择使用哪个函数取决于具体的需求。如果需要创建一个具有默认值的对象可以使用New如果需要创建一个已经初始化的对象或切片可以使用Make。同时要注意不同类型的对象或切片的初始化规则以确保正确使用这两个函数。在实际编程中灵活运用New和Make可以有效地管理内存并提高程序的性能。
http://www.pierceye.com/news/427600/

相关文章:

  • 制作的网站西安网页设计培训哪里有
  • 株洲市住房和城乡建设局门户网站中国建设银行官网站大同
  • 北京响应式网站制作公司wordpress邀请码注册
  • 衡阳网站开发有哪些公司怎么建设淘客自己的网站、
  • 国内扁平化网站欣赏什么站做咨询网站好
  • 评价校园网站建设范例wordpress插件获取数据库
  • 网站开发具体问题重庆装修公司排名前十名
  • 萝卜建站织梦网站采集如何做
  • 邢台在百度上做个网站河南营销网站建设联系方式
  • 电力建设科学技术进步申报网站教学工作总结
  • 做淘宝客必须建网站吗杭州网站优化效果
  • 网站开发有什么职位用vs做网站教程
  • 行业网站渠道选择和内容运营网站续费问题
  • 什么是seo优化推广阿里云网站建设优化
  • 信息发布型网站建设的特点免费
  • 陕西有限公司网站建设招标公告如何做影视网站的标题
  • wordpress网站百度搜索吗百度关键词推广怎么做
  • 马鞍山市网站建设服务有限公司计算机平面设计主要做什么
  • 手机网站跟pc网站有什么不同怎样创建网站收益
  • 什么系统做购物网站好做面料那几个网站
  • 做网站产品资料表格做鞋设备网站
  • 青海西宁制作网站企业做网站用什么语言编写
  • 网站变成手机网站做简历的网站都有哪些内容
  • 汽车网站建设页面软件公司都是帮别人做网站么
  • 微信的企业网站模板深圳做关键词优化平台
  • 用什么框架做网站快网站建设与维护薪资
  • 深圳公明做网站用织梦做网站都需要用什么
  • 广西城乡建设部网站首页国家住房和城乡建设部中国建造师网站
  • 杭州高端网站设计公司天津做网站那家好
  • 怎么建立网站?长沙做网站价格