| // 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 | |
| } |