Go语言中文网 为您找到相关结果 166

命令: go build

go help build 构建编译由导入路径命名的包,以及它们的依赖关系,但它不会安装结果. 使用 go build [-o 输出名] [-i] [编译标记] [包名] 如果参数为***.go文件或文件列表,则编译为一个个单独的包。当编译单个main包(文件),则生成可执行文件。当编译单个或多个包非主包时,只构建编译包,但丢弃生成的对象(.a),仅用作检查包可以构建。当编译包时,会自动忽略'_test.go'的测试文件。 参数 -o output 指定编译输出的名称,代替默认的包名。 -i install 安装作为目标的依赖关系的包(用于增量编译提速)。 以下 build 参数可用在 build, clean, get, install, list, run, test -a 完全编译,不...阅读全文

博文 2017-02-21 10:00:42 0zaki1sc

GO语言运行cmd命令逐行实时输出执行过程

Golang运行cmd命令逐行实时输出执行过程,注意,不是一次输出所有的内容,而是按照执行的过程,逐行逐行的实时显示出来 代码如下: package main import ( "bufio" "fmt" "io" "os/exec" ) func main() { command := "ls" params := []string{"-l"} //执行cmd命令: ls -l execCommand(command, params) } func execCommand(commandName string, params []string) bool { cmd := exec.Command(commandName, params...) //显示运行的命令 fmt.Println(...阅读全文

博文 2015-06-17 23:07:41 windvix

golang日期字符串与时间戳转换

坑爹啊 网上搜的到都是坑爹代码 只好自己搞 //获取本地location toBeCharge := "2015-01-01 00:00:00" //待转化为时间戳的字符串 注意 这里的小时和分钟还要秒必须写 因为是跟着模板走的 修改模板的话也可以不写 timeLayout := "2006-01-02 15:04:05" //转化所需模板 loc, _ := time.LoadLocation("Local") //重要:获取时区 theTime, _ := time.ParseInLocation(timeLayout, toBeCharge, loc) //使用模板在对应时区转化为time.time类型 sr := theTime.Unix() //转化为时间戳 类型是int64 fm...阅读全文

博文 2015-06-17 20:23:32 u012210379

go build -ldflags 参数及 gdb 调试

go build -ldflags 参数及 gdb 调试 有时发布时我们想隐藏所有代码实现相关的信息,使用 go build -ldflags 参数可以实现相关要求。 示例代码 本文使用版本为go 1.6。 package main import "log" type MyCat struct { name string age int } func main() { cat := MyCat{ name: "tom", age: 10, } log.SetFlags(log.Llongfile) log.Println(cat) } 使用-ldflags 设置编译参数-ldflags "-w -s"。 其中-w为去掉调试信息(无法使用gdb调试),-s为去掉符号表(暂未清楚具体作用)。 g...阅读全文

博文 2016-07-10 05:00:06 gvgarven

Go 系列教程 —— 8. if-else 语句

这是我们 [Golang 系列教程](https://golangbot.com/learn-golang-series/)的第 8 篇。 if 是条件语句。if 语句的语法是 ```go if condition { } ``` 如果 `condition` 为真,则执行 `{` 和 `}` 之间的代码。 不同于其他语言,例如 C 语言,Go 语言里的 `{ }` 是必要的,即使在 `{ }` 之间只有一条语句。 if 语句还有可选的 `else if` 和 `else` 部分。 ```go if condition { } else if condition { } else { } ``` if-else 语句之间可以有任意数量的 `else if`。条件判断顺序是从上到下。如果 `i...阅读全文

博文 2017-12-09 10:24:21 Dingo1991

golang的标准输入输出

golang中的标准输出很简单: package main import ( "fmt" ) func main() { fmt.Println("Hello world"); } 标准输入的,自己试了好多次都不行: package main import ( "fmt" ) func main() { var str string fmt.Scanln(str) fmt.Printf("INPUT :%s\n", str); } 结果发现正确的应该是在str前加&: package main import ( "fmt" ) func main() { var str string fmt.Scanln(&str) fmt.Printf("INPUT :%s\n", str); } 小记一...阅读全文

博文 2014-10-04 19:26:55 无量神通

golang时间格式化

golang中如何输入当前时间 package main import( "fmt" "time" ) func main(){ t := time.Now() y,m,d := t.Date() today := time.Now().Format("2006-01-02") datetime := time.Now().Format("2006-01-02 15:04:05")//后面的参数是固定的 否则将无法正常输出 fmt.Println("time is : ",t ) fmt.Println("y m d is : ",y,m,d ) fmt.Println("now is :",today) fmt.Println("now is :",datetime) ...阅读全文

博文 2015-06-17 20:04:06 herohenu

go build命令详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zl1zl2zl3/article/details/83374131 go help build 构建编译由导入路径命名的包,以及它们的依赖关系,但它不会安装结果. 使用 go build [-o 输出名] [-i] [编译标记] [包名] 如果参数为***.go文件或文件列表,则编译为一个个单独的包。 当编译单个main包(文件),则生成可执行文件。 当编译单个或多个包非主包时,只构建编译包,但丢弃生成的对象(.a),仅用作检查包可以构建。 当编译包时,会自动忽略'_test.go'的测试文件。 参数 -o output 指定编译输出的名称,代替默认的包名。 -i install 安装作为目标...阅读全文

博文 2019-03-05 22:31:03 zl1zl2zl3

golang中的格式化输入输出

【简介】 fmt 包实现了格式化 I/O 函数,类似于 C 的 printf 和 scanf。格式“占位符”衍生自 C,但比 C 更简单。 【打印】 占位符: [一般] %v 相应值的默认格式。在打印结构体时,“加号”标记(%+v)会添加字段名 %#v 相应值的 Go 语法表示 %T 相应值的类型的 Go 语法表示 %% 字面上的百分号,并非值的占位符 [布尔] %t 单词 true 或 false。 [整数] %b 二进制表示 %c 相应 Unicode 码点所表示的字符 %d 十进制表示 %o 八进制表示 %q 单引号围绕的字符字面值,由 Go 语法安全地转义 %x 十六进制表示,字母形式为小写 a-f %X 十六进制表示,字母形式为大写 A-F %U Unicode 格式:U+1234...阅读全文

博文 2016-06-01 11:00:01 xiaoyida11

golang printf中的%c,%d,%u.都分别代表输出的是什么类型的?

%表示格式化字符串输出目前printf支持以下格式的输出,例如:printf("%c",a);输出单个字符。printf("%d",a);输出十进制整数。printf("%f",a);输出十进制浮点数.printf("%o",a);输出八进制数。printf("%s",a);输出字符串。printf("%u",a);输出无符号十进制数。printf("%x",a);输出十六进制数...阅读全文

博文 2017-07-10 08:07:47 Robinbing

Golang调用Python

阅读原文请点击摘要:Python是时髦的机器学习御用开发语言,Golang是大红大紫的新时代后端开发语言。Python很适合让搞算法的写写模型,而Golang很适合提供API服务,两位同志都红的发紫,这里就介绍一下正确搅基的办法。 ![干他一炮.jpg](http://ata2-img.cn-hangzhou.img-pub.aliyun-inc.com/f5ad9d2dbd36c37ef742c7be6998Python是时髦的机器学习御用开发语言,Golang是大红大紫的新时代后端开发语言。Python很适合让搞算法的写写模型,而Golang很适合提供API服务,两位同志都红的发紫,这里就介绍一下正确搅基的办法。 原理Python提供了丰富的C-API。而C和Go又可以通过cgo无缝集成...阅读全文

博文 2017-07-06 07:08:31 骑猪逛街666

Golang结构体格式化输出问题

go结构体存在嵌套结构体时,使用%+v格式化输出时会出现打印指针地址的问题,如: type Student struct{ Name string Desp string } type Teacher struct{ Student []*Student Name string } func main() { teacher := new(Teacher) teacher.Name = "teacher" student := new(Student) student.Name = "student" student.Desp = "this is student" student2 := new(Student) student2.Name = "student2" student2.De...阅读全文

博文 2019-05-05 21:34:58 一只努力的微服务

go语言之Cmd.start, Cmd.Wait

package main import ( "fmt" "log" "os/exec" "encoding/json" ) func main() { cmd := exec.Command("echo", "-n", `{"Name": "Bob", "Age": 32}`) stdout, err := cmd.StdoutPipe() if err != nil { log.Fatal(err) } if err := cmd.Start(); err != nil { log.Fatal(err) } var person struct { Name string Age int } if err := json.NewDecoder(stdout).Decode(&person);...阅读全文

博文 2015-06-17 23:07:38 zistxym

golang sync.Once

package main import ( "fmt" "sync" "time" ) var counter int = 0 func main() { var once sync.Once onceBody := func() { time.Sleep(3e9) fmt.Println("Only once") } done := make(chan bool) for i := 0; i < 10; i++ { j := i go func(int) { once.Do(onceBody) fmt.Println(j) done <- true }(j) } //给一部分时间保证能够输出完整【方法一】 //for i := 0; i < 10; i++ { // <-done //} ...阅读全文

博文 2015-04-09 03:00:00 rojas

改变Go命令行输出颜色

写命令行程序时,希望输出不是单一的颜色,实际上,Linux 这样的系统中,有不少命令输出是有颜色的。那么 Go 编写的程序能做到吗? 事实上,已经有这样的第三方库可以使用: 1、[github.com/fatih/color](https://github.com/fatih/color) ![enter image description here][1] 2、[github.com/aybabtme/rgbterm](https://github.com/aybabtme/rgbterm) ![enter image description here][2] 3、[github.com/daviddengcn/go-colortext](https:/...阅读全文

GO 大小端

package main import ( "bytes" "encoding/binary" "fmt" ) func main() { var i uint32 = 1234 // 小端 b := make([]byte, 4) binary.LittleEndian.PutUint32(b, i) fmt.Printf("LittleEndian(%d) :", i) for _, bin := range b { fmt.Printf("%02X ", bin) } fmt.Printf("\n") //大端 fmt.Printf("BigEndian(%d) :", i) binary.BigEndian.PutUint32(b, i) for _, bin := range b ...阅读全文

博文 2017-05-16 07:00:50 痞子汤

利用Go1.4的新特性,在go test时输出glog日志

Go1.4 新增了一个功能:TestMain(m *testing.M) 利用这个函数,可以在*_test.go里面统一设置一次glog的参数,让go test的输出,也能包含glog的日志! func TestMain(m *testing.M) { flag.Set("alsologtostderr", "true") flag.Set("log_dir", "/tmp") flag.Set("v", "3") flag.Parse() ret := m.Run() os.Exit(ret) } 这样可以避免在每个TestXXX函数的开头都去设置flag. 参考: https://justinas.org/my-reason-to-be-excited-for-go-14/ https:...阅读全文

博文 2015-06-18 18:07:59 wk3368

golang logging,方便的日志输出

虽说go有自己的log内部实现,但是用起来呢我不太舒服,所以重新造了个。 ```go package main import ( "github.com/gamelife1314/logging" "os" ) func main() { logger := logging.GetDefaultLogger() logger.DEBUG("hello world, %s", "logging") logger.INFO("hello world, %s", "logging") logger.WARNING("hello world, %s", "logging") logger.ERROR("hello world, %s", "logging") logger.CRITICAL("hel...阅读全文

博文 2017-12-30 22:33:55 gamelife1314

golang ssh host 连接华为NE5k路由器并支持more分页符

golang ssh host 连接华为NE5k路由器并支持more分页符 利用golang/x/crypto/ssh实现并参考作者: CodyGuo代码 登录华为路由器执行命令display version和display arp statistics all 对终端屏宽产生的分页符做处理 可用作单台设备执行命令打印输出之用 重点code说明 ... in <- "display version" //执行输入goroutine in <- "display arp statistics all" ... go func() { for cmd := range in { wg.Add(1) w.Write([]byte(cmd + "\n")) wg.Wait() //控制每次gorou...阅读全文

博文 2017-03-09 15:52:14 飞天神猫

关于json格式化输出json.MarshalIndent()的使用

最近发现用json.MarshalIndent()转出来的json打印出来比较好看 比如 ``` js,_ := json.Marshal(&person) jsIndent,_ := json.MarshalIndent(&person, "", "\t") fmt.Println("\njs:\n",string(js), "\n\njsIndent:\n",string(jsIndent) ``` 打印出来: ``` js: {"Time":1987,"Name":"liangyongxing","Age":12} jsIndent: { "Time": 1987, "Name": "liangyongxing", "Age": 12 }...阅读全文

golang学习之奇葩的time format

golang格式化时间时,比如如下格式进行格式化输出: fmt.Println(time.Now().Format("2007年03月")) 程序直接输出: 16007年02月 很奇葩,但是若改成: fmt.Println(time.Now().Format("2006年01月")) 程序正确输出: 2016年06月 据说是go诞生日期,只认这个,更详细的时间是: fmt.Println(time.Now().Format("2006-01-02 15:04:05")) 2016-06-16 14:18:1...阅读全文

博文 2016-06-17 03:00:01 caiya928

go语言的string和slice是值拷贝吗?

package main import "fmt" func main() { var str string = "12345" tmpstr := str fmt.Printf("%x %x\n", str, tmpstr) tmpstr = tmpstr + "x" fmt.Printf("%x %x\n", str, tmpstr) var a []byte = []byte("12345") b := a fmt.Printf("%x %x\n", a, b) b = append(b, 'a') fmt.Printf("%x %x\n", a, b) } 应该是指针拷贝, 上面的输出是 3132333435 3132333435 3132333435 313233343578 31...阅读全文

博文 2016-03-18 13:00:02 frank0712105003

golang随机数的问题,使用了网上所有的方法,都没有比较好的生成方式

我的代码: ``` package main import ( "fmt" "math/rand" //"runtime" "time" ) func main() { //runtime.GOMAXPROCS(1) fmt.Println("===rand.New(rand.NewSource(64))====") for i := 0; i < 20; i++ { r := rand.New(rand.NewSource(64)) fmt.Print(fmt.Sprint(r.Intn(5)) + "-") } fmt.Println("") fmt.Println("===rand.New(rand.NewSource(...阅读全文

学习Golang语言(4):类型--字符串

跟着“码术”一起学习Golang语言,偷懒了好多天啦,今天继续讲解Golang中的类型。今天讲解的是字符串。 学习Golang语言(1): Hello World 学习Golang语言(2): 变量 学习Golang语言(3):类型--布尔型和数值类型 学习Golang语言(4):类型--字符串 学习Golang语言(5):类型--数组 学习Golang语言(6):类型--切片 数值类型 补充上一章节没有指出的地方: Golang还定义了三种依赖系统的类型:int、unint和uintptr。因为在32位系统和64位系统上用来表示这些类型的位数是不同的。 字符串 Golang中另一个重要的内建类型是string。 字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起...阅读全文

博文 2014-10-09 16:00:04 codemanship

golang chan make前后值比较

package main import ( "fmt" ) func main() { var chtest chan string fmt.Println("no make:", chtest) chtest = make(chan string, 10) fmt.Println("make no value:", chtest) chtest <- "one" fmt.Println("value one:", chtest) <-chtest fmt.Println("out value:", chtest) } 输出: no make: make no value: 0x1840d080 value one: 0x1840d080 out value: 0x1840d08...阅读全文

博文 2015-06-18 17:04:34 dayello

golang的http不是并发的么?

下面这代码同时打开两个页面访问,第二个要等第一个输出1,2后才会输出1,http不是并发的么