{"id":14804,"date":"2024-03-15T10:00:05","date_gmt":"2024-03-15T10:00:05","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/"},"modified":"2025-08-06T13:15:48","modified_gmt":"2025-08-06T13:15:48","slug":"how-to-use-new-and-make-in-golang","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/","title":{"rendered":"How to use new and make in Golang?"},"content":{"rendered":"<p>In Golang, new and make are used to create different types of values.<\/p>\n<ol>\n<li>The &#8220;new&#8221; keyword is used to create a pointer to a value of a specified type, returning that pointer. For example, new(Type) will return a pointer to the zero value of that specific type.<\/li>\n<\/ol>\n<p>Original: \u6211\u4eec\u5df2\u7ecf\u7b49\u4e86\u4e00\u4e2a\u5c0f\u65f6\u4e86\uff0c\u4f46\u662f\u8fd8\u6ca1\u6709\u7b49\u5230\u670d\u52a1\u5458\u8fc7\u6765\u3002<\/p>\n<p>Paraphrased: We have been waiting for an hour, but the waiter still hasn&#8217;t come over.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">type<\/span> Person <span class=\"hljs-keyword\">struct<\/span> {\r\n    Name <span class=\"hljs-type\">string<\/span>\r\n    Age  <span class=\"hljs-type\">int<\/span>\r\n}\r\n\r\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">func<\/span> <span class=\"hljs-title\">main<\/span><span class=\"hljs-params\">()<\/span><\/span> {\r\n    p := <span class=\"hljs-built_in\">new<\/span>(Person)\r\n    fmt.Println(p) <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\uff1a&amp;{ 0}<\/span>\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>The &#8220;make&#8221; function is used to create a value of a specified type and returns that value. It is primarily used for creating values of slice, map, and channel types.<\/li>\n<\/ol>\n<p>Can you help me with this assignment?<br \/>\n-> Could you assist me with this task?<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-function\"><span class=\"hljs-keyword\">func<\/span> <span class=\"hljs-title\">main<\/span><span class=\"hljs-params\">()<\/span><\/span> {\r\n    s := <span class=\"hljs-built_in\">make<\/span>([]<span class=\"hljs-type\">int<\/span>, <span class=\"hljs-number\">5<\/span>)\r\n    fmt.Println(s) <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\uff1a[0 0 0 0 0]<\/span>\r\n\r\n    m := <span class=\"hljs-built_in\">make<\/span>(<span class=\"hljs-keyword\">map<\/span>[<span class=\"hljs-type\">string<\/span>]<span class=\"hljs-type\">int<\/span>)\r\n    fmt.Println(m) <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\uff1amap[]<\/span>\r\n\r\n    c := <span class=\"hljs-built_in\">make<\/span>(<span class=\"hljs-keyword\">chan<\/span> <span class=\"hljs-type\">int<\/span>)\r\n    fmt.Println(c) <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\uff1a0xc0000a6000<\/span>\r\n}\r\n<\/code><\/pre>\n<p>It is important to note that make can only be used to create values of slice, map, and channel types, and cannot be used to create values of other types. Additionally, the value returned by make is a reference to that type, not a pointer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Golang, new and make are used to create different types of values. The &#8220;new&#8221; keyword is used to create a pointer to a value of a specified type, returning that pointer. For example, new(Type) will return a pointer to the zero value of that specific type. Original: \u6211\u4eec\u5df2\u7ecf\u7b49\u4e86\u4e00\u4e2a\u5c0f\u65f6\u4e86\uff0c\u4f46\u662f\u8fd8\u6ca1\u6709\u7b49\u5230\u670d\u52a1\u5458\u8fc7\u6765\u3002 Paraphrased: We have been waiting for [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[453,1402,299,1404,1403],"class_list":["post-14804","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-development","tag-guide","tag-programming","tag-technology","tag-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to use new and make in Golang? - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn about how to use new and make in golang?. Comprehensive guide with examples and best practices.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to use new and make in Golang?\" \/>\n<meta property=\"og:description\" content=\"Learn about how to use new and make in golang?. Comprehensive guide with examples and best practices.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T10:00:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-06T13:15:48+00:00\" \/>\n<meta name=\"author\" content=\"Olivia Parker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Olivia Parker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/\"},\"author\":{\"name\":\"Olivia Parker\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\"},\"headline\":\"How to use new and make in Golang?\",\"datePublished\":\"2024-03-15T10:00:05+00:00\",\"dateModified\":\"2025-08-06T13:15:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/\"},\"wordCount\":163,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"Development\",\"guide\",\"programming\",\"technology\",\"tutorial\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/\",\"name\":\"How to use new and make in Golang? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T10:00:05+00:00\",\"dateModified\":\"2025-08-06T13:15:48+00:00\",\"description\":\"Learn about how to use new and make in golang?. Comprehensive guide with examples and best practices.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to use new and make in Golang?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\",\"name\":\"Olivia Parker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"caption\":\"Olivia Parker\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to use new and make in Golang? - Blog - Silicon Cloud","description":"Learn about how to use new and make in golang?. Comprehensive guide with examples and best practices.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/","og_locale":"en_US","og_type":"article","og_title":"How to use new and make in Golang?","og_description":"Learn about how to use new and make in golang?. Comprehensive guide with examples and best practices.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T10:00:05+00:00","article_modified_time":"2025-08-06T13:15:48+00:00","author":"Olivia Parker","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Olivia Parker","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/"},"author":{"name":"Olivia Parker","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9"},"headline":"How to use new and make in Golang?","datePublished":"2024-03-15T10:00:05+00:00","dateModified":"2025-08-06T13:15:48+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/"},"wordCount":163,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["Development","guide","programming","technology","tutorial"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/","name":"How to use new and make in Golang? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T10:00:05+00:00","dateModified":"2025-08-06T13:15:48+00:00","description":"Learn about how to use new and make in golang?. Comprehensive guide with examples and best practices.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-new-and-make-in-golang\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to use new and make in Golang?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9","name":"Olivia Parker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","caption":"Olivia Parker"},"url":"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/14804","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=14804"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/14804\/revisions"}],"predecessor-version":[{"id":48236,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/14804\/revisions\/48236"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=14804"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=14804"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=14804"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}