Posts

Showing posts from October, 2021

Pointer Receiver vs Value Receiver

Receivers are same as parameters in function in Go. They are also passed by value when functions are called. Because of this, it is preferred to use pointers as receivers instead of passing values directly. This is because usually we use receivers to implement OOP programming style. If passed by value, the properties of the objects will not be able to update. For example, we have an object called "person", it has age property. Initially when created, the person has initialised the age to 0, then we use method to change it to 18. See code below: package main import ( "fmt" ) type Person struct { Name string Age int } func main() { person := Person{Name : "Leo"} fmt.Println(person) person.SetAge(18) fmt.Println(person) } func (p *Person) SetAge(age int) { p.Age = age } The output of the result is: {Leo 0} {Leo 18} However if the receiver is passed by value like below: func (p Person) SetAge(age int) { p.Age = age } Then the age...

Variables and Data Types in Javascript

This is a study note about Javascript from  https://www.geeksforgeeks.org/introduction-to-javascript-course-learn-how-to-build-a-task-tracker-using-javascript/ Javascript is untyped language. Once a variable is created in javascript using 'var', you can assign any other type of data to this variable. var text = 'Hello World' text = 123 Above code is valid in Javascript. Variable text can be assigned a string value and then later change to a number. 1. Difference between var and let in Javascript Basically, 'var' is function scoped, however 'let' is block scoped. https://www.geeksforgeeks.org/difference-between-var-and-let-in-javascript/ Let's use use 'let' for most of the cases because 'var' is confusing . 2. Number type in Javascript The number type in Javascript contains both integer and floating point numbers. Besides these numbers, we also have 'special-numbers' in Javascript that are: ' infinity ', ' -Infin...