DEV Community

Cover image for Golang perk series : (typed) arrays – JS vs. GO #3
LG
LG

Posted on • Edited on

2 1

Golang perk series : (typed) arrays – JS vs. GO #3

ARRAYS

  • UNTYPED ARRAYS

In JavaScript :

var nil_ = []; /* implicitly as type of int (use TS if you want to be sure) */
console.log(`${nil_.length == 0}\n`) // true
Enter fullscreen mode Exit fullscreen mode

In Golang :

var nil_ []int
fmt.Println(len(nil_) == 0) // true
Enter fullscreen mode Exit fullscreen mode

  • TYPED ARRAYS
    • declarations :
  • TYPED ARRAYS
    • views :

In JavaScript :

/*var*/ primes = new ArrayBuffer(8)
/*var*/ uint8 = new Uint16Array(primes)
/*var*/ sliced_primes = uint8.slice()
console.log(sliced_primes) // Uint16Array(4) [0, 0, 0, 0, buffer: ArrayBuffer(8), byteLength: 8, byteOffset: 0, length: 4, Symbol(Symbol.toStringTag): 'Uint16Array']
Enter fullscreen mode Exit fullscreen mode

In Golang :

func main() {
        primes := [4]int{}
    var sliced_primes []int = primes[0:len(primes)]
    fmt.Println(sliced_primes)
}
// try oneself on : @https://go.dev/play/
Enter fullscreen mode Exit fullscreen mode

NOTE : In JavaScript TypedArrays are limited of one specific type you choose to have in the container , whereas DataView (heterogenous data in fancy terms) can be used as a "translator" eliminating boundaries "of one type" for TypedArrays (homogenous data in fancy terms) .

TIP : with reference to explanation above , in Node.js
runtime we would use Buffer.from() !


  • Slicing the arrays :

In JavaScript :

  // Task : slice each season's months into dedicated variable & print it :
function main(){
  var full_year = ["Jan", "Feb", "March", "April", "May", "June", "July","August", "September", "October", "November", "December",]
  var winter = full_year.slice(0,2) winter.unshift(full_year[11])
  var spring = full_year.slice(2,5)
  var summer = full_year.slice(5,8)
  var autumn = full_year.slice(8,11)
  console.log(full_year, winter, spring, summer, autumn)
}
main()
Enter fullscreen mode Exit fullscreen mode

In Golang :

package main 

import (
  . "fmt"
)

func main(){
  full_year := []string{"Jan", "Feb", "March", "April", "May", "June", "July","August", "September", "October", "November", "December",}

  /* --- */

  // Task : slice each season's months into dedicated variable & print it :
  var winter = append([]string{}, full_year[11], full_year[0], full_year[1])
  var spring = full_year[2:5]
  var summer = full_year[6:9]
  var autumn = full_year[9:12]
  Println(full_year, winter, spring, summer, autumn)
} 
Enter fullscreen mode Exit fullscreen mode

AWS GenAI LIVE image

Real challenges. Real solutions. Real talk.

From technical discussions to philosophical debates, AWS and AWS Partners examine the impact and evolution of gen AI.

Learn more

Top comments (0)

SurveyJS custom survey software

JavaScript Form Builder UI Component

Generate dynamic JSON-driven forms directly in your JavaScript app (Angular, React, Vue.js, jQuery) with a fully customizable drag-and-drop form builder. Easily integrate with any backend system and retain full ownership over your data, with no user or form submission limits.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay