ProgrammingLang/Go

[go] vscode Error 및 Warning

jinkwon.kim 2023. 2. 2. 07:35
728x90
반응형

개요

vscode에서 코딩시 발생하는 오류들을 정리 합니다. 

(ST1017) Yoda conditions

don't use Yoda conditions (ST1017) go-staticcheck
https://knowthecode.io/yoda-conditions-yoda-not-yoda

 

Yoda Conditions: To Yoda or Not to Yoda - Know the Code

Tonya explains the Yoda conditions programming style. She discusses its intent and the problem it seeks to solve. A handy guide and litmus test are included to help you decide when to use it in your programs. Both PHP and JavaScript examples are provided t

knowthecode.io

개념 

programming style일 입니다. 

" = "조건식에서 상수, 리터럴 ,함수를 왼쪽에 위치 시키는 programming type 입니다. 

목적

비교를 하려고 할 때 할당을 포착하는 것입니다. 변수에 실수로 새 값이 할당될 가능성이 있는 경우에만 사용합니다.

단점

단점은 가독성이 떨어짐. 

(S1002) bool 비교 생략 가능 

should omit comparison to bool constant, can be simplified to c_in.K8s_system (S1002)go-staticcheck

S1002 발생

if test_var == true {
	/.../
}

S1002 발생 안함

if test_var {
	/.../
}

Module source못 찾을때

vscode상에서 표기

could not import github.com/astaxie/beego (cannot find package "github.com/astaxie/beego" in any of
    /usr/local/go/src/github.com/astaxie/beego (from $GOROOT)
/root/go/src/github.com/astaxie/beego (from $GOPATH))
compilerBrokenImport

알림

Error loading workspace: You are outside of a module and outside of $GOPATH/src. If you are using modules, please open your editor to a directory in your module. If you believe this warning is incorrect, please file an issue:

해결책

ctrl + , -> gopls -> setting.json에서 편집 -> 아래 항목 추가 

    "gopls": {

        "build.experimentalWorkspaceModule": true,

    }

 

vscode 재 시작

 

 

 

728x90
반응형