go 不同运行环境使用不同方法

发表于 2021-10-12  1.79k 次阅读


虽然go是跨系统的语言,但在编写go程序的时候也会遇到不同的操作环境会有不同的常量,方法

目录结构

add
---func_linux.go
---func_windows.go
main.go

func_linux.go

// +build linux
package add

func Add(x, y int) int {
    return x * y
}

func_windows.go

// +build windows
package add

func Add(x, y int) int {
    return x + y
}

main.go

package main

import (
    "fmt"
    "oSytem/add"
)

func main() {
    addRes := add.Add(1, 2)
    fmt.Printf("add num : %d", addRes)
}

结果

windows add num : 3
linux add num : 2

结论

重点是func_linux.go 和 func_windows.go 文件头部的 // +build xxx
文件名 以_xxx形式,xxx需要是操作环境名称 比如linux,windows之类,否则会报方法已定义

本站文章基于国际协议BY-NA-SA 4.0协议共享;
如未特殊说明,本站文章皆为原创文章,请规范转载。

0

一盏灯 一座城 找一人 一路的颠沛流离