本文目錄一覽:
- 1、golang如何創建目錄
- 2、東方神起的歌 的韓語歌詞
- 3、redis 實現並發鎖go
- 4、go分析的生成文件中的c f p文件各是什麼意思
- 5、golang ioutil.WriteFile函數perm參數的用法
golang如何創建目錄
golang中關於目錄與文件名等操作都在os這個包中,具體的創建目錄都是通過Mkdir和MkdirAll這2個函數來實現的,這兩個函數用法一致
os.Mkdir(dirName string, perm FileMode)
dirName即要創建的目錄(文件夾路徑),可以是絕對路徑,也可以是相對路徑(相對於GOPATH)
perm表示創建的目錄的權限,如0777(讀r權限值為4,寫權限w值為2,執行權限x值為1)
如:我要在/data/program/goapp這個目錄下創建一個golang這個子目錄,示例如下:
package main
import (
“os”
“fmt”
)
func main() {
err := os.Mkdir(“/data/program/goapp/golang”, 0666)
if err != nil {
fmt.Println(err)
}
}
註:Mkdir和MkdirAll的區別
Mkdir創建目錄,它的父級目錄必須是存在的,不然創建會失敗
MkdirAll可以遞歸創建目錄,即只要根目錄存在即可,如下:
err := os.MkdirAll(“/data/program/goapp/golang/test/hello”, 0766)
if err != nil {
fmt.Println(err)
}
本例中:/data/program/goapp是已經存在的目錄,而子目錄golang/test/hello是不存在,此時要使用MkdirAll來創建
東方神起的歌 的韓語歌詞
樓上的說人話,滿嘴噴糞也不怕被媽媽揍~
我只找了些有的,樓主說的說的那些很難找呢
인사 – 영웅재중(백만장자의 첫사랑 OST)
insa – yeong oong jae joong
問候 – 東方神起 Hero
————————————————–
————————————————–
바람이 머문 그 시간 조차
parami meomoon keu sigan jocha
風停了 連時間也停了
나에겐 너무 모자란걸
naegen neomu mojarangeor
對我來說太不足夠
한번의 미소 마지막 인사
hanbeone miso majimak insa
一次微笑 最後的問候
사랑합니다 그댈
sarangamida keudaer
我愛?
시간에 지쳐도 사랑에 아파도
sigane jicheodo sarange apado
時間也耗盡 愛也很痛
그시간 조차 추억이고
keu sigan jocha chueogigo
連那段時光也是追憶
마지막 인살 하네요
majimak insar haneyo
我要給你最後的問候
사랑합니다 사랑합니다
sarangamnida sarangamnida
我愛你 我愛你
fly away fly away love
飛翔吧 飛翔吧 愛
fly away fly away love
飛翔吧 飛翔吧 愛
fly away fly away love
飛翔吧 飛翔吧 愛
내인생 단 한번에 사랑아
ne insaeng tan hanbeone saranga
我人生唯一一次的愛啊
안녕
annyeong
再見
在中-步伐
he jir mu l(yo)p nar gen go kan bar go lem
눈 때보니 잊은줄 알았던 곳에
nun de bo ni i zen jur a la don go se
아직 도 너에 대한 미움이 남아있는지
a jik do no e de han mi u mi na ma i nen ji
이 젠 자유릅고 싶어
i jen cha yu lerp go si po
시간은 해결 해주리라 난 믿었지
si ga nen he g(yeo)r he zu li la nan mi do ji
그 것조차 어리석었을까
ker gok jo cha o li so go ser ga
이젠 흘러 가는대로 날 말길래
i zen her lo ka nen de lo nar mar gir le
너원 상관없잖니
no won sang guan op zan ni
*첨부터 너란 존재는
chom pu to no lan zon je nen
내겐 없었어
ne gen op so so
니가 내게 했듯이
ni ga ne ge he der si
기억해 내가 아파했던만큼
ki o ke ne ga a pa he don man kerm
언젠간 너도
on jen gan no do
나아닌 누구에게
na a nin nu gu e ge
이런 아픔 겪을테니
i lon a perm kyeo gerr ke ni
미안해
mi an he
이렇게 밖에 할 수 없잖니
i lo ke ba ge har su op zan ni
정말 이럴 수 밖에
chong mar i lor su pa ge
너처럼 다시 시작할 수 있는
no cho lom ta si si za kar su i nen
그 날이 오길
ker na li o kir
너를 사랑할 수 없고
no ler sa lang har su op go
너를 미워해야 하는 날 위해*
no ler mi wo he ya ha nen nar v he
日暮時分的天 拖拖拉拉的腳步
睜開眼睛看 這無法忘懷的地方
還殘留有對你的怨恨
現在我想要自由
用時間可以解決的 我相信
就怕那樣 也只是愚蠢的行為
現在那些錯失的東西 我存放起來了
和你已經沒有關係了 不是嗎
一開始 你的存在是沒有我的
是你給了我傷痛
我還有那麼多痛心的記憶
無論何時 你都不是我,任何人都是
這樣的傷痛
來自飽受煎熬
對不起 除了這樣做沒有別的辦法
真的只有這樣做了
像你一樣 只有重新開始
直到那天來臨為止 沒有辦法再繼續愛你
為了忘記對你憎恨的那天
一開始 你的存在是沒有我的
是你給了我傷痛
我還有那麼多痛心的記憶
無論何時 你都不是我 任何人都是
這樣的傷痛
來自飽受煎熬
對不起 除了這樣做沒有別的辦法
真的只有這樣做了
像你一樣 只有重新開始
直到那天來臨為止 沒有辦法再繼續愛你
為了忘記對你憎恨的那天
參考資料:
풍선 (氣球) —동방신기 (東方神起)
br
br[All] 지나가버린 어린 시절엔 풍선을 타고 날아가는 예쁜 꿈도 꾸었지
br노란 풍선이 하늘을 날면 내 마음에도 아름다운 기억들이 생각나
br
br[최강] 내 어릴 적 꿈은 노란 풍선을 타고 하늘 높이 날으는 사람
br[믹키] 그 조그만 꿈을 잊어버리고 산 건 내가 너무 커버렸을 때
br
br[시아] 하지만 괴로울 땐 아이처럼 뛰어 놀고 싶어
br[영웅] 조그만 나의 꿈들을 풍선에 가득 싣고
br
br[All] 지나가버린 어린 시절엔 풍선을 타고 날아가는 예쁜 꿈도 꾸었지
br노란 풍선이 하늘을 날면 내 마음에도 아름다운 기억들이 생각나
br
br[영웅] 왜 하늘을 보면 나는 눈물이 날까 그것조차 알 수 없잖아
br[유노] 왜 어른이 되면 잊어버리게 될까 조그맣던 아이 시절을
br
br[믹키,최강] 때로는 나도 그냥 하늘 높이 날아가고 싶어
br[유노,시아] 잊었던 나의 꿈들과 추억을 가득 싣고
br
br[시아] 지나가버린 어린 시절엔 풍선을 타고 날아가는 예쁜 꿈도 꾸었지
br[All] 노란 풍선이 하늘을 날면 내 마음에도 아름다운 기억들이 생각나
br
br[All] 랄라라라라 랄라라라라 랄라라라라 라랄라라 랄랄랄라 라라라
br[최강] 세월이 흘러도 [유노,믹키] 잊어버려도
br[영웅] 노란 풍선에 담을 수 있을까
br
br[All] 지나가버린 어린 시절엔 풍선을 타고 날아가는 예쁜 꿈도 꾸었지
br노란 풍선이 하늘을 날면 내 마음에도 아름다운 기억들이 생각나
br回答者:paris_baguette – 秀才 三級 11-14 21:15
br
br풍선 (Balloons) —동방신기 (東方神起)
br合:zyi na ga bao li.bao li xi jiao ai.gum sao nu ka gu.na na ga nen.ye buen bu no gu
brwo ji.no lo gum sou ni.ha ne-ri le-ri na niao.nai ma eri mai dou.a en da lem.ki yao
brde-ri li sam gan ma.
br珉:nai ao li jiao pu men.no la pun sou lm pa bu.ha ner o pi na le-ri le-ri sa la.
br米:ku jiao gum man bu mer.yi jiao bao lin gaor san gaor.nai ga nao mu kao bao liao si dai.
br秀:ha ji ma dai o yi dan.a yi qiao lo.duai yao nu go xi pou.
br花:qiao gv man na gai gong de-ri lu.puen sou nai ga de-ri xi kou.
br合:zyi na ga bao li.bao li xi jiao ai.gum sao nu ka gu.na na ga nen.ye buen bu no gu
brwo ji.no lo gum sou ni.ha ne-ri le-ri na niao.nai ma eri mai dou.a en da lem.ki yao
brde-ri li sam gan ma.
br花:wai ha ne-ri le-ri bu miao.na lu nun mu li na ga.gi lu jiu qia a su ao jia na.
br浩:wai ao lu nu tuai niao.yi jiao bo li gai tuai ga.qiu gi man ta a yi xi jiao li.
br米珉:dai ao nen na gao gu nia.na la ga go xi pou.
br秀浩:yi jiao dao na ye gong de-ri gua.qiu wo gu ta du xi go.
br合:zyi na ga bao li.bao li xi jiao ai.gum sao nu ka gu.na na ga nen.ye buen bu no gu
brwo ji.no lo gum sou ni.ha ne-ri le-ri na niao.nai ma eri mai dou.a en da lem.ki yao
brde-ri li sam gan ma.
br合:lalalalala~
br秀:sai wo li he lo dou.
br合:lalalalala~
br米:yi jiao bo liao dou.
br合:lalalalala~
br花:wo~oh~no la buen sou lai ta mu su yi su ga~
br合:zyi na ga bao li.bao li xi jiao ai.gum sao nu ka gu.na na ga nen.ye buen bu no gu
brwo ji.no lo gum sou ni.ha ne-ri le-ri na niao.nai ma eri mai dou.a en da lem.ki yao
brde-ri li sam gan ma.
HIYAYA
Beautiful ocean bright Just You and I In your eyes I can feel heavenly paradise.
don’t be afraid of what you feel Inside
That’s OK You don’t have to cry yourself.
I’ll give you word Only one love You know no one can make one happy as the way you do.
Baby that’s the true love(my love) As always I’m here Baby This is our world
눈부신 태양아래, 그대와 단둘이서 (둘이서)
작은 배낭을 메고, 함께 길을 떠나요 (떠나요)
달리는 창 밖으론, 펼쳐진 푸른 바다 (내 곁에)
내 곁엔 어느새 잠든, 천사를 닮은 너
Dancing in summer paradise 사랑해 hi ya ya ya~
여름날 우리 추억을 평생 간직해
표현이 서툴고 어색할지 몰라도
“널 사랑해” forever come with me.
하얀 백사장 위로, 걸어오는 너 (오는 너)
너무나 눈부신 모습, 바로 볼 수가 없어 (그대와)
시원한 바람 맞으며, 단둘이 거닐 땐 (See my smile)
가쁘게 뛰는 내 마음 들릴까 걱정돼
till the end of time..
여름날 우리 추억을 평생 간직해
표현이 서툴고 어색할지 몰라도
“널 사랑해” forever come with me.
십년이 지나도, 이 모습 이대로
변함없이 그대 항상 내 곁에
있었음 정말 좋겠어
till the end of time..
Always be happy together 사랑해 hi ya ya ya~
끝없이 펼쳐진 하늘 우릴 축복해
Dancing in summer paradise 사랑해 hi ya ya ya~
여름날 우리 추억을 평생 간직해
표현이 서툴고 어색할지 몰라도
“널 사랑해” forever come with me
Hi Ya Ya 여름날
redis 實現並發鎖go
鎖的作用是:當多個線程競爭一個資源時,會出現資源被幹掉或者資源重置為另一個值,這時鎖的作用就出現了,鎖住當前的資源,其他線程就不會修改此數據了。
使用redis鎖的思想是:將資源作為一個獨立標識,然後放在字符串裏面,並且使用過期時間來聲明鎖:
也可以手動釋放,才去循環設置超時時間
SetNX 這個命令就很好地作為資源聲明,創建一個鎖:
import (
“context”
“go-redis/client”
“time”
“github.com/go-redis/redis/v8”
“github.com/google/uuid”
)
var ctx = context.TODO()
func Lock(lockname string, locktime int64) string {
u, _ := uuid.NewUUID()
ustr := u.String()
end := time.Now().Unix() + locktime
for {
if time.Now().Unix() end {
client.RedisClient().SetNX(ctx, “lock:”+lockname, ustr, time.Hour)
return ustr
}
}
}
而釋放鎖,一般是兩步合併的操作,因為它會減少IO操作。
兩步分為:
獲取資源
如果有此資源,釋放鎖(刪除資源uuid)
package redislock
import (
“context”
“go-redis/client”
“time”
“github.com/go-redis/redis/v8”
“github.com/google/uuid”
)
var ctx = context.TODO()
// 釋放鎖
func Release(lockname string, indetifier string) bool {
pipline := client.RedisClient().TxPipeline()
lockname = “lock:” + lockname
for {
pipline.Get(ctx, lockname).Val()
cmders, _ := pipline.Exec(ctx)
perm, _ := cmders[0].(*redis.StringCmd).Result()
if perm == indetifier {
pipline.Del(ctx, lockname) // 刪除鎖
pipline.Exec(ctx)
return true
}
}
}
go分析的生成文件中的c f p文件各是什麼意思
一、func Open(name string) (file *File, err error)
再簡單不過了,給一個路徑給它,返迴文件描述符,如果出現錯誤就會返回一個 *PathError。
這是一個只讀打開模式,實際上就是 os.OpenFile() 的快捷操作,它的原型如下:
複製代碼代碼如下:
func Open(name string) (file *File, err error) {
return OpenFile(name, O_RDONLY, 0)
}
二、func OpenFile(name string, flag int, perm FileMode) (file *File, err error)
這個複雜點,需要提供文件路徑、打開模式、文件權限。
打開標記:
O_RDONLY:只讀模式(read-only)
O_WRONLY:只寫模式(write-only)
O_RDWR:讀寫模式(read-write)
O_APPEND:追加模式(append)
O_CREATE:文件不存在就創建(create a new file if none exists.)
O_EXCL:與 O_CREATE 一起用,構成一個新建文件的功能,它要求文件必須不存在(used with O_CREATE, file must not exist)
O_SYNC:同步方式打開,即不使用緩存,直接寫入硬盤
O_TRUNC:打開並清空文件
文件權限(unix權限位):只有在創建文件時才需要,不需要創建文件可以設置為 0。os庫雖然提供常量,但是我一般直接寫數字,如0664。
golang ioutil.WriteFile函數perm參數的用法
golang ioutil.WriteFile函數perm參數的用法
ioutil.WriteFile(…, perm os.FileMode)
剛開始接觸golang的文件API的時候,總是納悶為什麼在創建文件的時候需要顯示的指定文件的perm屬性,難道不能從系統的umask裏面獲取嗎?
實際上ioutil.WriteFile在創建新文件時,並不是直接使用參數perm的值,而是要和umask的值做合併的。把函數參數的值合併到當前umask的值,才是最終創建出來文件的perm屬性。
例如
umask為空,所以ioutil.WriteFile的perm屬性就是最後的文件屬性
umask為0777,所以ioutil.WriteFile的perm屬性全被disable掉了
umask為0000,所以ioutil.WriteFile的perm屬性就是最後的文件屬性
umask為0640,而ioutil.WriteFile的perm屬性也是640,正好全部被關閉了,最後生成的文件沒有任何屬性。
即ioutil.WriteFile在寫文件時,如果目標文件已經存在,那麼目標文件的perm屬性不會被改動,即此時ioutil.WriteFile的參數perm會被忽略。
注意一點就明白了,touch命令使用的是0666的屬性,它並沒有給X(executable)屬性置值,所以不管在umask中對executable位是否置1,touch命令就不能生成一個具有executable的文件。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/249146.html