golang golang_array_slices_maps

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang golang_array_slices_maps相关的知识,希望对你有一定的参考价值。

// note - arrays are of FIXED size, while slices can be modified

////////// MAPS --- probably most used as we can use a string as an index instead of just integers
newmap := make(map[string]string) // make a map of STRINGS
newmap["lomas"] = "bbq"
newmap["horse"] = "handsome"
fmt.Println(newmap)

delete(newmap("horse")


/////////// slices 

// init slice
var slice = make([]string, 2) // make an array with 2 elements (0 and 1)

// add item to slice
slice[0] = "how are you?"

// append or add an item to slice
slice = append(slice, "how are you?")

// append multiple items
slice = append(array, "how", "are", "you", "?")

// delete item 2 from slice
slice = append(slice[:2], slice[2+1:]...) // note, only change the 2

// copy element to another slice
newslice := make([]string, 3) // this must be big enough to fit all the elements in
copy(newslice, slice)

fmt.Println(newslice)



/////////// arrays - only used if we know the size, we cannot change it once initialised

// init array
var array [2]string // make an array of strings with 2 items (0 and 1)

// add items to array
array[0] = "how are you?"

// output array OR slice
fmt.Println(array) // dump whole array
fmt.Print(array[0]) // output single item


json [Golang] golang #golang #snippets中有用的片段

[ fmt ](https://golang.org/pkg/fmt/)
-------
Print any `type`(struct,maps,primitives) with the `key` name 

``` 
fmt.Printf("\n [key] :%+v \n", [value]) 

```

Print Error  

``` 
fmt.Errorf(" \nError: %s", err.Error()) 

```

[ log ](https://golang.org/pkg/log/)
-------------

Print any `type`(struct,maps,primitives) with the `key` name 

``` 
log.Printf("\n [key] :%+v \n", [value]) 

```


[ http  ](https://golang.org/pkg/log/)
-------------

http middleware 

```  
func [middlewareName](h http.Handler) http.Handler {
              return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
              // Do things before request 
           	
              nextMiddleware.ServeHTTP(w, r)
              // Do things after request	  
              })
          } 
```
{
         "http Middleware declaration": {
		"prefix": "md",
		"body": ["func $1(${2:nextMiddleware} http.Handler) http.Handler {\n\treturn http.HandlerFunc(func(${3:w} http.ResponseWriter, ${4:r} *http.Request) {\n\t $5\n\t nextMiddleware.ServeHTTP(${3:w}, ${4:r})\n\t 	  $6\n\t})\n}"],
		"description": "Snippet for http middleware declaration"
	},

	"log.Printf()": {
		"prefix": "lf",
		"body": [
			"log.Printf(\"\\n## ${1:text} ##: %+v\\n\", ${2:value})"
		],
		"description": "log.Printf()"
	},
	"fmt.Printf()": {
		"prefix": "ff",
		"body": [
			"fmt.Printf(\"\\n## ${1:text} ## :%+v \\n\", ${2:value})",
		],
		"description": "log.Printf()"
	}
}

以上是关于golang golang_array_slices_maps的主要内容,如果未能解决你的问题,请参考以下文章

Golang入门到项目实战 第一个golang应用

golang编译androidso无法加载

golang如何打印内存内容

Golang入门到项目实战 golang匿名函数

json [Golang] golang #golang #snippets中有用的片段

golang使用成本高