Decoding Go: Dissimilarity Between make() and new() Functions for Effective Code Construction

Kamalesh D
4 min readFeb 17, 2024

A Comprehensive Guide to make() and new() Functions for Optimal Memory Allocation and Object Initialization

make() vs new()

Go, also recognized as Golang, stands out as a statically typed and compiled programming language renowned for its simplicity and efficiency. Within the realm of Go programming, effective memory allocation is paramount, and two distinct functions, namely make() and new(), play pivotal roles in managing memory.

This article aims to elucidate the distinctions between these two functions, shedding light on their respective purposes within the context of memory management in Go.

make() Function

Function Purpose:

The make()function in Go serves a fundamental role in initializing slices, maps, and channels. These specific data structures necessitate pre-configuration before utilization, and make()offers a convenient and efficient mechanism to fulfill this initialization requirement.

Examples:

  1. Initializing a Slice:
slice := make([]int, 10, 15)

In this instance, a slice of integers is instantiated with a length of 10 and a capacity of 15. The make() function…

--

--

Kamalesh D
Kamalesh D

Written by Kamalesh D

DevOps and Cloud Enthusiast | Cyber Security | DevSecOps Engineer@FordMotors | https://dev.to/kamaleshseervi

Responses (1)