본문 바로가기
반응형

go22

cannot find package ~ in any of: (from $GOROOT) ~ (from $GOPATH) 리눅스 환경에서 go build를 할 시, 다음과 같은 오류 발생하였다. 원인은 작성한 코드내에서 사용할 패키지를 찾지 못해서 발생한 오류인데, 다음과 같은 해결 방법이 있다. 방법 1. 환경 변수 설정을 잘 못하여서 발생한 오류일 수도 있다. go env 명령어를 사용하여 GOPATH 확인 후 GOPATH를 재 설정한다. 방법 2. go.mod 파일을 삭제 후 go mod init [프로젝트 명] 명령어를 사용하여 .mod 파일을 새로 생성한다. 2022. 4. 23.
JSON data 사용하기 encoding/json 패키지를 사용하여 JSON 데이터를 사용할 수 있다. 1. Json 인코딩 Json 포멧으로 변환하기 위해서는 Marshal() 함수를 사용한다. 다음의 예제는 json 데이터를 변환하여 결과를 출력한다. package main import ( "encoding/json" "fmt" ) // json key 값 type User struct { // struct 내에 field 선언 후 뒤에 `json:"[key]"` 를 붙이면 key 값을 따로 지정할 수 있다. Id string `json:"id"` Pw int `json:"password"` } func main() { // json value 값 지정 userInfo := User{"uhm", 1234} // JSON 인코.. 2022. 4. 23.
ioutil 패키지를 사용하여 파일 읽기/쓰기 ioutil 패키지를 사용하면 간단하게 파일을 읽고 쓸 수 있습니다. 파일 내용을 작성하기 위해서는 string type을 byte slices로 변경해줘야 합니다. 또한 파일을 읽을 시 byte slices로 읽어온 내용을 사용하려면 string으로 변환 해줘야 합니다. 다음의 사용 예시를 참고하면 쉽게 이해할 수 있습니다. 사용 예시 package main import ( "fmt" "io/ioutil" "os" ) func main() { str := "Hello, World!" // 파일에 입력할 문자 내용 // 파일명은 hello.txt // str(파일에 입력할 문자)을 byte slice로 변환 // 파일권한은 664(파일소유자는 읽기/쓰기 가능, 일반 사용자는 읽기만 가능) err := i.. 2022. 4. 23.
Local package import 오류 사용자가 작성한 패키지를 사용하기 위해 import에 추가한 후 터미널에서 run을 했을 때 다음과 같은 오류가 발생하였을 때 cannot find package "" in any of : 또는 import "" cannot import absolute path 방법 1. 코드 내 import 경로가 제대로 되어 있는지 확인한다. => '상위 디렉토리 명/패키지 명" package main import ( "상위 디렉토리 명/패키지 명" ) func main() { ... } 방법 2. 모듈 확인 => .mod 파일이 생성되어 있는지 확인한다. 터미널에 ' go mod init [모듈 명] '으로 .mod 파일 생성 go mod init [모듈명] .mod 파일을 생성한 후 module 설정이 제대로 되.. 2022. 2. 21.
반응형