2023年11月2日 星期四

Go 引用其他package的問題,工作區模式

Go語言package不同情況下需要引入來使用,這裡使用工作區模式來達成

Go 1.18 新功能多模組工作區模式(multi-module workspaces)介紹。

以下使用繼承為範例

step1. 資料夾建立
E:\GOPRATICE
├─lib
│   └─test01.go  
└─maingo
    └─main.go



step2. lib/test.go
package lib

import "strconv"

type Student struct {
Name string
Age  int
Sex  string
}

func (s *Student) Test01() string {
var total string = ("姓名:" + s.Name + "\n年齡:" + strconv.FormatInt(int64(s.Age), 10) + "\n性別:" + s.Sex)
return total
}



step3. maingo/main.go
package main

import (
"fmt"
lib1 "lib"
)

func main() {
var L1 = new(lib1.Student)
L1.Name = "六六喵"
L1.Age = 5
L1.Sex = "貓"

fmt.Println(L1.Test01())
}




step4. 以上不同資料夾部屬不同package後
  1. 到E:\GOPRATICE\lib #這裡輸入go mod init lib
  2. 到E:\GOPRATICE\ #這裡輸入go work init
  3. 再輸入 go work use .\lib\




step5. 文件夾結構
E:\GOPRATICE
├─go.work  
├─lib
│   ├─go.mod 
│   └─test01.go  
└─maingo
    └─main.go







沒有留言:

張貼留言