github.com/hlts2/go@v0.0.0-20170904000733-812b34efaed8/src/os/path_unix.go (about) 1 // Copyright 2011 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris 6 7 package os 8 9 const ( 10 PathSeparator = '/' // OS-specific path separator 11 PathListSeparator = ':' // OS-specific path list separator 12 ) 13 14 // IsPathSeparator reports whether c is a directory separator character. 15 func IsPathSeparator(c uint8) bool { 16 return PathSeparator == c 17 } 18 19 // basename removes trailing slashes and the leading directory name from path name 20 func basename(name string) string { 21 i := len(name) - 1 22 // Remove trailing slashes 23 for ; i > 0 && name[i] == '/'; i-- { 24 name = name[:i] 25 } 26 // Remove leading directory name 27 for i--; i >= 0; i-- { 28 if name[i] == '/' { 29 name = name[i+1:] 30 break 31 } 32 } 33 34 return name 35 }