I will only speak to the completeness as compared to other AOP[1] implementations[2]. Note that other[3] languages[4] address these concerns within the language definition themselves. Also, keep in mind that this project has just recently come into existence and should not yet be expected to support what mature AOP projects like AspectJ have been able to accomplish.
Considering the newness of the project, it seems to have good support for simple AOP use. There are a significant number of pointcuts missing when compared to AspectJ's pointcuts[5], though some are not applicable in Go.
The "after throwing" advice is inapplicable to Go[6], so can be discounted. However, "after returning" seems not to be supported yet and "around" is limited to call pointcuts.
All of this assumes that the project operates as advertised as I have no first-hand experience with this one.
Considering the newness of the project, it seems to have good support for simple AOP use. There are a significant number of pointcuts missing when compared to AspectJ's pointcuts[5], though some are not applicable in Go.
The "after throwing" advice is inapplicable to Go[6], so can be discounted. However, "after returning" seems not to be supported yet and "around" is limited to call pointcuts.
All of this assumes that the project operates as advertised as I have no first-hand experience with this one.
1 - http://www.eclipse.org/aspectj/doc/released/progguide/index....
2 - http://www.postsharp.net/aop.net
3 - http://ruby-doc.com/docs/ProgrammingRuby/html/tut_modules.ht...
4 - http://www.artima.com/scalazine/articles/stackable_trait_pat...
5 - http://www.eclipse.org/aspectj/doc/released/progguide/semant...
6 - http://blog.golang.org/error-handling-and-go