Question: Suppose user entered 'my name is xyz' so how would i get the last three letters 'xyz' in BlueJ. What code should i use to get last or the first letters of the input. In Q basic it is easy by using Right$ and Lest$ but I don't know how to do it in BlueJ.

Answer: 
The normal way is to use a dependency manager such as [dep](https://github.com/golang/dep).

An alternative is just to copy the vendor directory directly in your Dockerfile, but this is not ideal, as it will copy the entire vendor directory verbatim, even if it contains old or unused imports.
Assuming you have a kind of monorepo setup, with vendor at the top level and then dockerfiles in each of the sub directories (/services) you could use a top level `docker-compose.yml` file ([docs](https://docs.docker.com/compose/)) to define all the services and then use volume mounts to ensure that vendor ends up inside the containers.

Taking your example

```
.../repo
 - libraries
 - services
     - service-api-signup
          - Dockerfile
          - main.go
     - service-api-second
          - ...
 - vendor
 - docker-compose.yml

```

The `docker-compose.yml` would look something like:

```
version: '3'
services:
  service-api-signup:
    container_name: api-signup
    build:
      context: ./service-api-signup
    volumes:
      - ./vendor:/go/src/github.com/user/services/service-api-signup/vendor
  service-api-second:
    container_name: api-second
    build:
      context: ./service-api-second
    volumes:
      - ./vendor:/go/src/github.com/user/services/service-api-second/vendor

```

There's also an option to override the command and entrypoint of a dockerfile allowing you to set custom scripts as the entrypoint when running through docker-compose

```
entrypoint: /go/src/github.com/user/services/service-api-signup

```

Maybe that script (that you would need to create and put in your repo somewhere) could make use of a live reload tool like [gin](https://github.com/codegangsta/gin) and might look like:

```
#!/bin/bash

go get github.com/codegangsta/gin

exec gin --immediate -appPort 8080 run

```

This would still mean that you are building the application inside docker (which in OS's that aren't linux will mean worse performance). But it does mean that you get docker-compose convenience, live reload and don't need to rebuild containers.