好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > go build 通過文件名后綴實現不同平臺的條件編譯操作

go build 通過文件名后綴實現不同平臺的條件編譯操作

熱門標簽:江蘇呼叫中心外呼系統有效果嗎 杭州人工智能電銷機器人費用 官渡電銷外呼管理系統怎么收費 400開頭電話怎樣申請 赤峰電銷 地圖區域圖標注后導出 貴州電話智能外呼系統 谷歌美發店地圖標注 利用地圖標注位置

go build 可以通過標簽或者文件名的后綴來提供條件編譯,這里說下通過文件名的后綴來提供條件編譯

文件命名約定可以在go build 包里找到詳細的說明,簡單來說,就是源文件包含后綴:_$GOOS.go,那么這個源文件只會在這個平臺下編譯,_$GOARCH.go也是如此。

這兩個后綴可以結合在一起使用,但是要注意順序:_$GOOS_$GOARCH.go,不能反過來用:_$GOARCH_$GOOS.go

例如下面截圖,這些文件定義了對應不同平臺下是否需要編譯。

補充:Golang: 條件和循環

條件、循環要點

1、for, if后面的條件沒有括號

2、if條件里也可以定義變量

3、沒有while

4、switch不需要break,也可以直接switch多個條件

1. branch.go:

package main
import (
 "io/ioutil"
 "fmt"
)
// switch會自動break,除非使用fallthrough;可以swich多條件;panic()報錯讓程序終止
func grade(score int) string {
 g := ""
 switch {
 case score  0 || score > 100:
  panic(fmt.Sprintf("Wrong score: %d", score))
 case score  60:
  g = "F"
 case score  80:
  g = "C"
 case score  90:
  g = "B"
 case score = 100:
  g = "A"
 //default:
 // panic(fmt.Sprintf("Wrong score: %d", score))
 }
 return g
}
func readFile(filename string) {
 contents, err := ioutil.ReadFile(filename)
 if err != nil {
  fmt.Println(err)
 } else {
  fmt.Printf("%s\n", contents)
 }
 // if的條件里可以賦值,其賦值的變量作用域就在if的block中
 if contents, err := ioutil.ReadFile(filename); err != nil {
  fmt.Println(err)
 } else {
  fmt.Printf("%s\n", contents)
 }
}
func main() {
 const filename = "abc.txt"
 readFile(filename)
 fmt.Println()
 fmt.Println(
  grade(0),
  grade(56),
  grade(82),
  grade(100),
  //grade(101), // 中斷報錯
  )
}

輸出:

abcde
12345
hello
world
abcde
12345
hello
world
F F B A

2. loop.go:

package main
import (
 "fmt"
 "strconv"
 "os"
 "bufio"
)
// 十進制轉二進制,for中省略初始條件
func convertToBin(n int) string {
 result := ""
 for ; n>0; n /= 2 {
  lsb := n % 2
  result = strconv.Itoa(lsb) + result
 }
 return result
}
// 一行行讀文件,for中省略初始條件,相當于while
func printFile(filename string) {
 file, err := os.Open(filename)
 if err != nil {
  panic(err)
 }
 scanner := bufio.NewScanner(file)
 for scanner.Scan() {
  fmt.Println(scanner.Text())
 }
}
// 死循環,不要while了
func forever() {
 for {
  fmt.Println("abc")
 }
}
func main() {
 fmt.Println(
  convertToBin(5), // 101
  convertToBin(13), // 1101
  convertToBin(72387885),
  convertToBin(0),
  )
 printFile("abc.txt")
 //forever()
}

輸出:

101 1101 100010100001000110100101101 
abcde
12345
hello
world

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Go遞歸修改文件名的實例代碼
  • Go并發:使用sync.WaitGroup實現協程同步方式
  • go等待一組協程結束的操作方式
  • SpringBoot整合MongoDB實現文件上傳下載刪除
  • golang協程池模擬實現群發郵件功能
  • Go 如何批量修改文件名

標簽:泰安 黔西 松原 宜春 武漢 河池 保定 鷹潭

巨人網絡通訊聲明:本文標題《go build 通過文件名后綴實現不同平臺的條件編譯操作》,本文關鍵詞  build,通過,文件名,后綴,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《go build 通過文件名后綴實現不同平臺的條件編譯操作》相關的同類信息!
  • 本頁收集關于go build 通過文件名后綴實現不同平臺的條件編譯操作的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 国产做a爱片久久毛片A片漫画| 久久久www免费看片| 日韩二级片| 成 人 免费 黄 色 网站无毒下载| 快C我啊?用力?嗯?轻一点图片| 国产欧美日韩精品a在线观看高清| 用力?来高潮了?再用力电影| 久久伊人精品一区二区三区介绍 | 乱肉伦辣妇小说| 被两个男人按住吃奶很爽| 宝宝进去就不疼了视频直播| 欧美freepicturessxxx| XXX摘花处破女| 国产浓毛大泬熟妇视频| 极品姐夫| 毛片免费看| 潘金莲西门庆做爰| cytherea潮喷合集| 日韩一区在线视频| 英语老师的大白兔子又大又好吃| 黄色应用下| 韩国大尺度吃奶做爰恋爱的味道| 大众浴池高清摄像头| 66j8影院| 国产农村妇女XXXXHD| 一本色道久久88—综合亚洲精品| 我把校花黑色蕾丝胸罩脱了| 国产三级网站| 免费乱人伦短篇小说| 亚洲精品 - 小狼看片| 无码乱码国产精品94色| 高清欧美不卡一区二区三区| 青青青国产依人在线视频97| freesexxx| 91高清完整版在线观看免费| 免费精品国产| 国产做受视频国语音乐| 14???小泬破白浆流在线观看 | 两男一女3p被男人玩到喷水| 东京热手机在线一区| 亚洲成a人一区二区三区|