|  | // Copyright 2015 The Go Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style | 
|  | // license that can be found in the LICENSE file. | 
|  |  | 
|  | package strings | 
|  |  | 
|  | // Compare returns an integer comparing two strings lexicographically. | 
|  | // The result will be 0 if a == b, -1 if a < b, and +1 if a > b. | 
|  | // | 
|  | // Compare is included only for symmetry with package bytes. | 
|  | // It is usually clearer and always faster to use the built-in | 
|  | // string comparison operators ==, <, >, and so on. | 
|  | func Compare(a, b string) int { | 
|  | // NOTE(rsc): This function does NOT call the runtime cmpstring function, | 
|  | // because we do not want to provide any performance justification for | 
|  | // using strings.Compare. Basically no one should use strings.Compare. | 
|  | // As the comment above says, it is here only for symmetry with package bytes. | 
|  | // If performance is important, the compiler should be changed to recognize | 
|  | // the pattern so that all code doing three-way comparisons, not just code | 
|  | // using strings.Compare, can benefit. | 
|  | if a == b { | 
|  | return 0 | 
|  | } | 
|  | if a < b { | 
|  | return -1 | 
|  | } | 
|  | return +1 | 
|  | } |