Question: I was reading this blogpost <http://www.hydrogen18.com/blog/golang-embedding.html> and came across these lines 

> 
> There is an important distinction to observe here. If myParent is an instance of Parent the value myParent cannot act as a Valueable. You must use the the value &myParent, a pointer to the instance, to act as a Valueable. This is because the method Value receives a \*Parent not a Parent.
> 
> 
> 

I have created a sample <https://play.golang.org/p/ojTKZfx97g> . So the questions is why calling the method **myparent.Value()** works by itself but does not work when called through interface

Answer: 
This issue has nothing to do with JavaScript or AngularJS.

You are querying an OData service where it appears that `foo` is an `Edm.Decimal` value, but you are trying to compare it against `100.5`, which is an `Edm.Double` literal. The `eq` operator does not support comparing an `Edm.Decimal` to an `Edm.Double`.

To remedy this, use an `Edm.Decimal` literal:

```
 "foo eq 100.5M"

```
I've never seen a `$filter` param to an `$http` call, so I don't quite follow what you're doing. However, if you just want to filter the result, you can do that with a strict comparison via the built in `filter` `$filter` ([Angular Docs](https://docs.angularjs.org/api/ng/filter/filter))

Check out this Plunker for an example of how to filter a `ng-repeat` expression in your template: [Plunker Example](http://plnkr.co/edit/Wnd0yaE9mUtyzv25IL9d?p=preview)

Code:

```
<h2>Filter</h2>
Value: <input type="number" ng-model="value">
<hr/>
<h2>Items</h2>
<div ng-repeat="item in items | filter:value:true">
  {{item.value}}
</div>

```