Hacker News new | ask | show | jobs
by markuskobler 4336 days ago
So Russ Cox goes into more detail in this post https://groups.google.com/d/msg/golang-nuts/MdYlJbW4SAo/TrAE...

  Although Go does not compile via C, occasionally C code does need to 
  refer to Go identifiers. Since we chose not to restrict the mangled Go 
  names to the space of valid C names, we must add some mechanism to 
  refer to Go names from C. That mechanism is: 

  1. In the assemblers and C compilers, which already accepted all 
  non-ASCII Unicode code points in identifiers, the Unicode characters ยท 
  and / rewrite to ordinary . and / in the object files. 

  2. A symbol with a leading . has its import path inserted before the . 
  when being linked: inside encoding/json.a, a reference to ".Marshal" 
  is equivalent to "encoding/json.Marshal". 

  Because of 2, we went a long time without needing a special character 
  for slash. Recently the introduction of race detection has made it 
  convenient for package runtime to be able to refer to a few symbols in 
  runtime/race, hence the new slash lookalike."
2 comments

For some supplementary information, see also this answer on stackoverflow: http://stackoverflow.com/a/13490787/98528
When did statements like this sprout a So on the front? It's everywhere now!