関連記事
GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ
概要
以下、自分用のメモです。たまにやりたいときに忘れているので、ここにメモメモ。。。
ファイル処理をしているときに、ファイル名から拡張子を除いた部分を取得したいときがたまにあります。
strings.TrimSuffixとfilepath.Extを組み合わせると出来ます。
サンプル
exclude_suffix.go
package filepaths import ( "path/filepath" "strings" "github.com/devlights/gomy/output" ) // ExcludeSuffix は、ファイル名から拡張子を除いた値を取得するサンプルです. // // filepath.Ext()とstrings.TrimSuffix()を組み合わせて取得出来ます。 // // > strings.TrimSuffix(file, filepath.Ext(file)) // // または、スライスを拡張子分だけカットすることでも取得出来ます。 // // > file[:len(file)-len(filepath.Ext(file))] // // # REFERENCES // - https://pkg.go.dev/path/[email protected]#Ext // - https://pkg.go.dev/[email protected]#TrimSuffix func ExcludeSuffix() error { var ( fpath = "/path/to/src/something.go" dir = filepath.Dir(fpath) fname = filepath.Base(fpath) ext = filepath.Ext(fname) base1 = strings.TrimSuffix(fname, ext) base2 = fname[:len(fname)-len(ext)] ) output.Stdoutl("[fpath]", fpath) output.Stdoutl("[dir ]", dir) output.Stdoutl("[ext ]", ext) output.Stdoutl("[base1]", base1) output.Stdoutl("[base2]", base2) return nil }
実行
$ task task: [build] go build -o "/workspace/try-golang/try-golang" . task: [run] ./try-golang -onetime ENTER EXAMPLE NAME: filepath_exclude_suffix [Name] "filepath_exclude_suffix" [fpath] /path/to/src/something.go [dir ] /path/to/src [ext ] .go [base1] something [base2] something [Elapsed] 33.81µs
参考情報
Goのおすすめ書籍
過去の記事については、以下のページからご参照下さい。
サンプルコードは、以下の場所で公開しています。