Skip to main content

Functions and Methods of golang

 

Overview

In this blog i am going to talk about the functions and methods in golang. which is a important topic in go. if you have not read the previous blog or do not have a basic knowledge about go the i would suggest you to have a look at my other blog. 

Functions

you can declare a function as below. you don't need to declare return type unless your not returning something from your function. you get the return value in a way that is explained in the example code .
    func <function name >(<parameter> <parameter type>) (<return type>){}

Example Code :

    
    package main
    import ("fmt")

    func main() {

        test1()	// example 1

        sum := test2() // example 2
        fmt.Println("sum =",sum)

        sum2,error:= test3(30,40) // example 3
        fmt.Println("sum 2 =",sum2,error)

        sum3,_:= test3(80,60) // example 4 
        fmt.Println("sum 2 =",sum3)

        sum4,_:= test4(80,60.34) // example 5
        fmt.Println("sum 2 =",sum4)


    }


    func test1() {
        fmt.Println("hello from test 1")
    }

    func test2() int {
        sum := 20 + 30
        return sum
    }

    func test3(a,b int) (int,error){
        sum := a + b
        return sum,nil
    }

    func test4(a int,b float32) (float32,error){
        sum := float32(a) + b
        return sum,nil
    }

output :

    hello from test 1
    sum = 50
    sum 2 = 70 <nil>
    sum 2 = 140
    sum 2 = 140.34 
if you can see in test3 function we are grabbing the returned value by declaring the variable. In golang if you do not grab the value that is returning from the function then it will show an error. to avoid that error you need to fallow the test4 example of the function.

Methods

there is no classes in golang. instead of class they use struct and add a function to the struct so that it can be used as method. you can bind a method to a struct as below. 
    func (<variable name> <struct name >) <function name >
         (<parameter> <parameter type>) (<return type>){}
there is a sudden way you can use construct method in golang. it will be explaining in CRUD with golang blog.

 
Previous Blog Next Blog
Collection of golang Program flow of golang


Comments

Popular posts from this blog

Creating a project with Golang

Overview    You can run a go file with out making a project. But the standard way to use go is to create a project or you can call it a space where you will be putting your go code, on the other hand it is a work space, but in Go Lang we call it module. In Go Lang modules are the official way of organize go code. in this blog I am going to explain the way you create a model and first hello world with that project. Explanation To Module you need to run the command bellow go mod init <module name>  If you can see I have named my module github.com/TahimFaisal/golang. the name of the module is called module initializer. this is the standard way of initialization. And for the go get command it will it will know where to go and get the mod if it cannot find the mod locally.  Okay, soon after you ran the command you will get a file named go.mod in your working directory  it will be having module initializer and the version of go your using.  ...

Primitive data type of Golang

Overview In this blog I am going to talk about the date types and variables in go. and the topics bellow  Declaring and initializing variables   explicit initialization of variables   implicit initialization of variables complex data type list of data type Pointer pointer operator dereferencing operator address of operator Constant Iota and constant expression Declaring and initializing variables there are 2 ways you can declarer and initialize a variable they are explicit initialization variables  implicit initialization variables  Explicit initialization of variables  in this way you have to tell the compiler every thing you need to declare a variable. var i int i = 20 var j int = 3 fmt.Println(i,j) var f float32 = 32.233 fmt.Println(f)  in this way we are explicitly telling what will be the input type for that variable. Implicit initialization of variables  in this way of declaring a variable. we don't have ...

List of data types in Golang

  index Description 1 Type: int8 8-bit signed integer 2 Type:  int16 16-bit signed integer 3 Type:  int32 32-bit signed integer 4 Type:  int64 64-bit signed integer 5 Type:  uint8 8-bit unsigned integer 6 Type:  uint16 16-bit unsigned integer 7 Type:  uint32 32-bit unsigned integer 8 Type:  uint64 64-bit unsigned integer 9 Type:  int Both in and uint contain same size, either 32 or 64 bit. 10   Type:  uint Both in and uint contain same size, either 32 or 64 bit. 11 Type:  rune It is a synonym of int32 and also represent Unicode code points. 12 Type:  byte It is a synonym of int8 . 13 ...